commit 432276e49d4b5dcbad80f023b7525c5571c43075
Author: Katja Luther <k.luther@bgbm.org>
Date:   Tue Nov 20 12:51:08 2018 +0100

    ref #7849: harmonize admin and local preferences for distribution editor and use drop down instead of radio buttons

diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java
index 4c7afbcff..3ba5dc44b 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java
@@ -43,6 +43,7 @@ import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.editor.view.checklist.e4.ChecklistEditorE4;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.TermDisplayEnum;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
@@ -125,10 +126,20 @@ public class ChecklistLabelProvider extends LabelProvider implements ITableLabel
                                 String label = rep.getLabel();
 
                                 if (label == null){
-                                    distribution.getStatus().getTitleCache();
+                                    label = distribution.getStatus().getTitleCache();
                                 }
-                                if (PreferencesUtil.isShowSymbolInChecklistEditor()){
-                                    return (StringUtils.isNotBlank(distribution.getStatus().getSymbol() ))?distribution.getStatus().getSymbol():label;
+                                if (PreferencesUtil.displayStatusInChecklistEditor() != null){
+                                    if(PreferencesUtil.displayStatusInChecklistEditor().equals(TermDisplayEnum.IdInVocabulary.getKey())){
+                                        return (StringUtils.isNotBlank(distribution.getStatus().getIdInVocabulary()))?distribution.getStatus().getIdInVocabulary():label;
+                                    }else if(PreferencesUtil.displayStatusInChecklistEditor().equals(TermDisplayEnum.Symbol1.getKey())){
+                                        System.err.println(columnIndex + " " +label);
+                                        return (StringUtils.isNotBlank(distribution.getStatus().getSymbol() ))?distribution.getStatus().getSymbol():label;
+                                    }else if(PreferencesUtil.displayStatusInChecklistEditor().equals(TermDisplayEnum.Symbol2.getKey())){
+                                        return (StringUtils.isNotBlank(distribution.getStatus().getSymbol2() ))?distribution.getStatus().getSymbol2():label;
+                                    }else{
+                                        return (label != null)?label:DEFAULT_ENTRY;
+                                    }
+
                                 }else{
                                     return (label != null)?label:DEFAULT_ENTRY;
                                 }
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditingSupportE4.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditingSupportE4.java
index 37614d6a5..282f98f6d 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditingSupportE4.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditingSupportE4.java
@@ -43,6 +43,7 @@ import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.event.EventUtility;
 import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.TermDisplayEnum;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 public final class DistributionEditingSupportE4 extends EditingSupport {
@@ -82,11 +83,27 @@ public final class DistributionEditingSupportE4 extends EditingSupport {
         	    	     label = status.getTitleCache();
         	    	 }
         	    	 String result = null;
-        	    	 if (PreferencesUtil.isShowSymbolInChecklistEditor() && !StringUtils.isBlank(status.getSymbol())){
-        	    		 result = label + "("+ status.getSymbol()+")";
+        	    	 String statusDisplay = PreferencesUtil.displayStatusInChecklistEditor();
+        	    	 if (statusDisplay != null){
+        	    	     if (statusDisplay.equals(TermDisplayEnum.Symbol1.getKey()) && !StringUtils.isBlank(status.getSymbol())){
+        	    	         result = label + "("+ status.getSymbol()+")";
+        	    	     }else if (statusDisplay.equals(TermDisplayEnum.IdInVocabulary.getKey()) && !StringUtils.isBlank(status.getIdInVocabulary())){
+        	    	         result = label + "("+ status.getIdInVocabulary()+")";
+        	    	     }else if (statusDisplay.equals(TermDisplayEnum.Symbol2.getKey()) && !StringUtils.isBlank(status.getSymbol2())){
+                             result = label + "("+ status.getSymbol2()+")";
+                         }else{
+        	    	         result = label;
+        	    	     }
+
         	    	 }else{
-        	    		 result = label;
+        	    	     result = label;
         	    	 }
+//
+//        	    	 if (PreferencesUtil.displayStatusInChecklistEditor() != null && !StringUtils.isBlank(status.getSymbol())){
+//        	    		 result = label + "("+ status.getSymbol()+")";
+//        	    	 }else{
+//        	    		 result = label;
+//        	    	 }
         	    	 return result;
         	     }
         	     return null;
@@ -168,7 +185,7 @@ public final class DistributionEditingSupportE4 extends EditingSupport {
                     descr.removeElement(distribution);
                     changed = true;
                 }else{
-                    if (!distribution.getStatus().equals(occurenceStatus)){
+                    if (distribution.getStatus() == null || !distribution.getStatus().equals(occurenceStatus)){
                         changed = true;
                         distribution.setStatus(occurenceStatus);
                     }
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/handler/OpenChecklistEditorHandlerE4.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/handler/OpenChecklistEditorHandlerE4.java
index 56a20fe72..6dce69634 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/handler/OpenChecklistEditorHandlerE4.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/handler/OpenChecklistEditorHandlerE4.java
@@ -2,7 +2,10 @@ package eu.etaxonomy.taxeditor.editor.view.checklist.e4.handler;
 
 import java.util.UUID;
 
+import javax.inject.Inject;
+
 import org.apache.commons.lang.StringUtils;
+import org.eclipse.e4.core.services.log.Logger;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
@@ -26,7 +29,8 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.workbench.WorkbenchUtility;
 
 public class OpenChecklistEditorHandlerE4 extends DefaultOpenHandlerBaseE4<ITaxonTreeNode> {
-
+    @Inject
+    private Logger logger;
     private static final String COULD_NOT_OPEN_DISTRIBUTION_EDITOR_THE_HIERARCHY_IS_CORRUPTED = Messages.OpenChecklistEditorHandler_COULD_NOT_OPEN_MESSAGE;
     private static final String COULD_NOT_OPEN_DISTRIBUTION_EDITOR = Messages.OpenChecklistEditorHandler_COULD_NOT_OPEN_TITLE;
 
@@ -80,7 +84,7 @@ public class OpenChecklistEditorHandlerE4 extends DefaultOpenHandlerBaseE4<ITaxo
 		if (checklistEditor != null){
 			checklistEditor.init(input);
 		}else{
-			System.err.println("Editor is null");
+			logger.debug("Editor is null");
 		}
 	}
 
diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TaxonNavigatorE4.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TaxonNavigatorE4.java
index 9c7854d55..668c88ecc 100644
--- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TaxonNavigatorE4.java
+++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TaxonNavigatorE4.java
@@ -90,6 +90,7 @@ import eu.etaxonomy.taxeditor.navigation.navigator.EmptyRoot;
 import eu.etaxonomy.taxeditor.navigation.navigator.Root;
 import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNodeNavigatorComparator;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+import eu.etaxonomy.taxeditor.preference.NavigatorOrderEnum;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
@@ -218,9 +219,10 @@ public class TaxonNavigatorE4 implements
 	/** {@inheritDoc} */
 	protected IAdaptable getInitialInput() {
 		Comparator<TaxonNodeDto> comparator;
-		if (PreferencesUtil.getSortNodesNaturally()){
+		NavigatorOrderEnum orderValue = PreferencesUtil.getSortNodes();
+		if (orderValue.equals(NavigatorOrderEnum.NaturalOrder)){
 			comparator = new TaxonNodeDtoNaturalComparator();
-		} else if (PreferencesUtil.getSortNodesStrictlyAlphabetically()){
+		} else if (orderValue.equals(NavigatorOrderEnum.AlphabeticalOrder)){
 			comparator = new TaxonNodeDtoByNameComparator();
 		}else {
 			comparator = new TaxonNodeDtoByRankAndNameComparator();
diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TreeNodeDropAdapterE4.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TreeNodeDropAdapterE4.java
index 13d21c5d4..f97aee934 100644
--- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TreeNodeDropAdapterE4.java
+++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TreeNodeDropAdapterE4.java
@@ -9,9 +9,11 @@
 
 package eu.etaxonomy.taxeditor.navigation.navigator.e4;
 
+import java.util.ArrayList;
 import java.util.EnumSet;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Set;
 import java.util.UUID;
 
@@ -143,6 +145,9 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
 
 		    // do not allow to drop onto itself and
 		    // check users permissions with all selected taxon nodes and taxa
+		    List<UUID> nodeUuids = new ArrayList<>();
+		    boolean isNotSameTaxonNode = true;
+		    boolean isNotSameParent = true;
 		    for(TaxonNodeDto taxonNode : getSelectedTaxa()){
 			    if (logger.isDebugEnabled()){
 			    	logger.debug("selectedTaxa: " + taxonNode.getTaxonUuid() == null? "-" : taxonNode.getTitleCache()); //$NON-NLS-1$
@@ -154,30 +159,35 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
 	                    }
 	                    return false;
 	                }
-			    boolean isSameTaxonNode = taxonNode.equals(target);
-			    boolean isSameParent = taxonNode.getParentUUID().equals(((TaxonNodeDto) target).getUuid());
-			    TaxonNode node = CdmStore.getService(ITaxonNodeService.class).load(taxonNode.getUuid());
-				boolean hasTaxonNodePermission = CdmStore.currentAuthentiationHasPermission(node, UPDATE);
+			    isNotSameTaxonNode = isNotSameTaxonNode && !taxonNode.equals(target);
+			    isNotSameParent = isNotSameParent && !taxonNode.getParentUUID().equals(((TaxonNodeDto) target).getUuid());
+			    nodeUuids.add(taxonNode.getUuid());
 
-				boolean hasTaxonPermission =
-	        			CdmStore.currentAuthentiationHasPermission(node.getTaxon(), UPDATE);CdmStore.currentAuthentiationHasPermission(node.getTaxon(), UPDATE);
+		    }
+			    List<TaxonNode> nodes = CdmStore.getService(ITaxonNodeService.class).load(nodeUuids, null);
+			    boolean hasPermission = true;
+			    for (TaxonNode node: nodes){
+			        hasPermission = hasPermission && CdmStore.currentAuthentiationHasPermission(node, UPDATE) && CdmStore.currentAuthentiationHasPermission(node.getTaxon(), UPDATE);
+			    }
+//				boolean hasTaxonPermission =
+//	        			CdmStore.currentAuthentiationHasPermission(node.getTaxon(), UPDATE);
                 if (
-			        isSameTaxonNode
-			        || isSameParent
-			        || !hasTaxonNodePermission
-    	            || !hasTaxonPermission
+			        !isNotSameTaxonNode
+			        || !isNotSameParent
+			        || !hasPermission
+
     	            ) {
                     if(logger.isDebugEnabled()){
-                        logger.debug("CANCEL_STATUS for selected  " + isSameTaxonNode + Messages.TreeNodeDropAdapter_10 + hasTaxonNodePermission + " " + hasTaxonPermission + " "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+                        logger.debug("CANCEL_STATUS for selected  " + isNotSameTaxonNode + Messages.TreeNodeDropAdapter_10 + hasPermission +  " "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
                     }
 					return false;
 				}
 			}
 			logger.debug("OK_STATUS"); //$NON-NLS-1$
 			return true;
-		}
-		logger.debug("CANCEL_STATUS"); //$NON-NLS-1$
-		return false;
+//		}
+//		logger.debug("CANCEL_STATUS"); //$NON-NLS-1$
+//		return false;
 	}
 
 
@@ -191,7 +201,7 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
         }
         IUndoContext workspaceUndoContext = taxonNavigator.getUndoContext();
          int movingTypeInt = 0;
-		if (PreferencesUtil.getSortNodesNaturally()){
+		if (PreferencesUtil.isNodesSortedNaturally()){
 			String[] buttonLables = {TREE_NODE_DROP_ADAPTER_CHILD, TREE_NODE_DROP_ADAPTER_BEHIND,TREE_NODE_DROP_ADAPTER_CANCEL};
 			MessageDialog dialog = new MessageDialog(null, TARGET_NODE, null, DO_YOU_WANT_TO_MOVE_THE_TAXONNODE_AS_CHILD_OR_BEHIND_THE_TARGET_NODE, MessageDialog.QUESTION_WITH_CANCEL, buttonLables, 0);
 			dialog.open();
@@ -233,7 +243,7 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
             public void run() {
                 AbstractUtility.executeMoniteredOperation("Move Taxon to new parent: ",
                         uuid,
-                        500,
+                        1000,
                         false,
                         TreeNodeDropAdapterE4.this,
                         null,
diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/RemotingMoveTaxonNodeHandlerE4.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/RemotingMoveTaxonNodeHandlerE4.java
index 675cf8fec..33d27900b 100644
--- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/RemotingMoveTaxonNodeHandlerE4.java
+++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/RemotingMoveTaxonNodeHandlerE4.java
@@ -94,9 +94,7 @@ public class RemotingMoveTaxonNodeHandlerE4 extends RemotingCdmHandlerE4 {
         TaxonNode parentTaxonNode;
         MovingType moveToNewParent = MovingType.CHILD;
 
-        if (PreferencesUtil.getSortNodesNaturally()){
-
-
+        if (PreferencesUtil.isNodesSortedNaturally()){
             parentTaxonNode = TaxonNodeSelectionDialog.select(shell,
                     Messages.RemotingMoveTaxonNodeHandler_CHOOSE_TAXON,
                     oldTaxonNodeUUIDs,
diff --git a/eu.etaxonomy.taxeditor.store/plugin.xml b/eu.etaxonomy.taxeditor.store/plugin.xml
index f5cd3fe51..9072e354d 100755
--- a/eu.etaxonomy.taxeditor.store/plugin.xml
+++ b/eu.etaxonomy.taxeditor.store/plugin.xml
@@ -605,16 +605,10 @@
    </page>
     <page 
          category="eu.etaxonomy.taxeditor.store.distribution"
-         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.ChecklistEditorGeneralPreference"
+         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.ChecklistEditorGeneralAdminPreference"
          id="eu.etaxonomy.taxeditor.store.checklist"
          name="%page.name.21">
    </page>
-   <page
-         category="eu.etaxonomy.taxeditor.preferences.general"
-         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.AbcdImportPreference"
-         id="eu.etaxonomy.taxeditor.store.abcdImportPreference"
-         name="%page.name.40">
-   </page>
    <page
          category="eu.etaxonomy.taxeditor.store.abcdImportPreference"
          class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.AbcdImportProvider"
@@ -623,7 +617,7 @@
    </page>
    <page
          category="eu.etaxonomy.taxeditor.preferences.general"
-         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.VokabularyAdminPreferences"
+         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.VocabularyAdminPreferences"
          id="eu.etaxonomy.taxeditor.store.vocabularyAdminPreference"
          name="%page.name.47">
    </page>
@@ -656,5 +650,11 @@
          id="eu.etaxonomy.taxeditor.store.page3"
          name="%page.name.44">
    </page>
+   <page
+         category="eu.etaxonomy.taxeditor.preferences.general"
+         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.AbcdImportPreference"
+         id="eu.etaxonomy.taxeditor.store.abcdImportPreference"
+         name="%page.name.40">
+   </page>
 </extension>
 </plugin>
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/AbcdImportPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/AbcdImportPreference.java
index 09ac66ab1..b0cc55f32 100755
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/AbcdImportPreference.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/AbcdImportPreference.java
@@ -25,10 +25,11 @@ import eu.etaxonomy.cdm.api.service.IPreferenceService;
 import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
-import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
 import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.preference.EditorPreferencePredicate;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
@@ -55,7 +56,7 @@ public class AbcdImportPreference extends CdmPreferencePage implements IE4AdminP
         configurator = Abcd206ImportConfigurator.NewInstance(null,null);
         ICdmRepository controller;
         controller = CdmStore.getCurrentApplicationConfiguration();
-        PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AbcdImportConfig);
+        PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), EditorPreferencePredicate.AbcdImportConfig);
 
         if (controller == null){
             return null;
@@ -65,7 +66,7 @@ public class AbcdImportPreference extends CdmPreferencePage implements IE4AdminP
         if (preference != null ){
             allowOverride = preference.isAllowOverride();
         }else{
-            preference = CdmPreference.NewTaxEditorInstance(PreferencePredicate.AbcdImportConfig, configurator.toString());
+            preference = CdmPreference.NewTaxEditorInstance(EditorPreferencePredicate.AbcdImportConfig, configurator.toString());
         }
 
         if (preference != null){
@@ -110,7 +111,12 @@ public class AbcdImportPreference extends CdmPreferencePage implements IE4AdminP
                      configurator.setOverwriteExistingSpecimens(Boolean.valueOf(valueString));
                  }else if (keyString.equals("nomenclaturalCode")){ //$NON-NLS-1$
                      configurator.setNomenclaturalCode(NomenclaturalCode.fromString(valueString));
+                 }else if (keyString.equals("getSiblings")){ //$NON-NLS-1$
+                     configurator.setGetSiblings(Boolean.valueOf(valueString));
+                 }else if (keyString.equals("removeCountryFromLocalityText")){ //$NON-NLS-1$
+                     configurator.setRemoveCountryFromLocalityText(Boolean.valueOf(valueString));
                  }
+
              }
 
          }
@@ -224,7 +230,7 @@ public class AbcdImportPreference extends CdmPreferencePage implements IE4AdminP
         checkBoxImportSiblings.addSelectionListener(new SelectionAdapter() {
             @Override
             public void widgetSelected(SelectionEvent e) {
-                configurator.setGetSiblings(checkBoxImportSiblings.getSelection());
+                configurator.setGetSiblings(!configurator.isGetSiblings());
             }
         });
 
@@ -260,7 +266,7 @@ public class AbcdImportPreference extends CdmPreferencePage implements IE4AdminP
         checkBoxReuseExistingTaxa.addSelectionListener(new SelectionAdapter() {
             @Override
             public void widgetSelected(SelectionEvent e) {
-                configurator.setReuseExistingDescriptiveGroups(!configurator.isReuseExistingDescriptiveGroups());
+                configurator.setReuseExistingTaxaWhenPossible(!configurator.isReuseExistingTaxaWhenPossible());
             }
         });
 
@@ -318,7 +324,7 @@ public class AbcdImportPreference extends CdmPreferencePage implements IE4AdminP
         if (configurator != null){
             String configString = configurator.toString();
 
-            CdmPreference pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.AbcdImportConfig, configString);
+            CdmPreference pref = CdmPreference.NewTaxEditorInstance(EditorPreferencePredicate.AbcdImportConfig, configString);
             pref.setAllowOverride(allowOverride);
 
             ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
@@ -327,6 +333,7 @@ public class AbcdImportPreference extends CdmPreferencePage implements IE4AdminP
             }
             IPreferenceService service = controller.getPreferenceService();
             service.set(pref);
+            PreferencesUtil.updateDBPreferences();
 
         }
         return true;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralAdminPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralAdminPreference.java
new file mode 100755
index 000000000..a217a9f49
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralAdminPreference.java
@@ -0,0 +1,315 @@
+/**
+ * Copyright (C) 2014 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
+package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+import eu.etaxonomy.cdm.api.application.ICdmRepository;
+import eu.etaxonomy.cdm.api.service.IPreferenceService;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.taxeditor.preference.ChecklistEditorGeneralPreference;
+import eu.etaxonomy.taxeditor.preference.EditorPreferencePredicate;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author a.oppermann
+ * @date 21.07.2014
+ *
+ */
+public class ChecklistEditorGeneralAdminPreference extends ChecklistEditorGeneralPreference implements IE4AdminPreferencePage {
+
+
+
+
+
+    @Override
+    protected Control createContents(Composite parent) {
+
+//        allowOverride = distributionPref.isAllowOverride();
+//
+//        final Button allowOverrideCheckButton = new Button(parent, SWT.CHECK);
+//        allowOverrideCheckButton.setText(Messages.ChecklistEditorGeneralPreference_allowOverride);
+//        allowOverrideCheckButton.setSelection(allowOverride);
+//        allowOverrideCheckButton.addSelectionListener(new SelectionAdapter(){
+//            @Override
+//            public void widgetSelected(SelectionEvent e) {
+//                allowOverride = allowOverrideCheckButton.getSelection();
+//            }
+//        });
+//
+        return super.createContents(parent);
+//
+//        final Button activateCheckButton = new Button(composite, SWT.CHECK);
+//        activateCheckButton.setText(Messages.ChecklistEditorGeneralPreference_enable);
+//        activateCheckButton.setSelection(isEditorActivated);
+//        activateCheckButton.addSelectionListener(new SelectionAdapter(){
+//            @Override
+//            public void widgetSelected(SelectionEvent e) {
+//                isEditorActivated = activateCheckButton.getSelection();
+//
+//                if(isEditorActivated){
+//                    child.setVisible(true);
+//                    child.setEnabled(true);
+//                }else{
+//                    child.setVisible(false);
+//                    child.setEnabled(false);
+//                }
+//
+//            }
+//        });
+//
+//        child  = new Composite(composite, SWT.NULL);
+//        child.setLayout(new GridLayout());
+//        child.setVisible(isEditorActivated);
+//
+//
+//
+////
+//
+//
+////
+////        final CommandHandlerButton button_openWizard = new CommandHandlerButton(child, SWT.PUSH,
+////                "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler");
+////
+////        button_openWizard.setText(Messages.ChecklistEditorGeneralPreference_open_distribution_selection);
+//
+////        Table table = new Table
+//        final CLabel description = new CLabel(child, SWT.NULL);
+//        description.setText(Messages.ChecklistEditorGeneralPreference_Configure_display_of_Areas);
+//
+//
+//        GridData gridData = new GridData();
+//        gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
+//        gridData.horizontalIndent = 5;
+////      classificationSelection.setLayoutData(gridData);
+//
+//
+//        final Button showIdInVocabulary = new Button(child, SWT.RADIO);
+//        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowIdInVocabulary);
+//        if (pref != null){
+//            isShowIdInVocabulary = Boolean.valueOf(pref.getValue());
+//        }else{
+//            isShowIdInVocabulary = false;
+//        }
+//        showIdInVocabulary.setText(Messages.ChecklistEditorGeneralPreference_show_id_in_voc);
+//        showIdInVocabulary.setSelection(isShowIdInVocabulary);
+//        showIdInVocabulary.addSelectionListener(new SelectionAdapter(){
+//            @Override
+//            public void widgetSelected(SelectionEvent e) {
+//                isShowIdInVocabulary = showIdInVocabulary.getSelection();
+//
+//             }
+//        });
+//        final Button showSymbol1 = new Button(child, SWT.RADIO);
+//        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSymbol1);
+//        if (pref != null){
+//            isShowSymbol1 = Boolean.valueOf(pref.getValue());
+//        }else{
+//            isShowSymbol1 = false;
+//        }
+//        showSymbol1.setText(Messages.ChecklistEditorGeneralPreference_show_symbol1);
+//        showSymbol1.setSelection(isShowSymbol1);
+//        showSymbol1.addSelectionListener(new SelectionAdapter(){
+//            @Override
+//            public void widgetSelected(SelectionEvent e) {
+//                isShowSymbol1 = showSymbol1.getSelection();
+//
+//             }
+//        });
+//        final Button showSymbol2 = new Button(child, SWT.RADIO);
+//        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSymbol2);
+//        if (pref != null){
+//            isShowSymbol2 = Boolean.valueOf(pref.getValue());
+//        }else{
+//            isShowSymbol2 = false;
+//        }
+//        showSymbol2.setText(Messages.ChecklistEditorGeneralPreference_show_symbol2);
+//        showSymbol2.setSelection(isShowSymbol2);
+//        showSymbol2.addSelectionListener(new SelectionAdapter(){
+//            @Override
+//            public void widgetSelected(SelectionEvent e) {
+//                isShowSymbol2 = showSymbol2.getSelection();
+//
+//             }
+//        });
+//        final Button showTitle = new Button(child, SWT.RADIO);
+//        isShowTitle = !(isShowIdInVocabulary || isShowSymbol1 || isShowSymbol2);
+//
+//        showTitle.setText(Messages.ChecklistEditorGeneralPreference_show_title);
+//        showTitle.setSelection(isShowTitle);
+//        showTitle.addSelectionListener(new SelectionAdapter(){
+//            @Override
+//            public void widgetSelected(SelectionEvent e) {
+//                isShowTitle = showTitle.getSelection();
+//
+//             }
+//        });
+//
+//        final Label seperator1 = new Label(child, SWT.HORIZONTAL | SWT.SEPARATOR);
+//        final Button sortNamedAreaByVocabularyOrder = new Button(child, SWT.CHECK);
+//
+//        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AreasSortedByIdInVocabulary);
+//        if (pref != null){
+//            isSortByVocabularyOrder = Boolean.valueOf(pref.getValue());
+//        }else{
+//            isSortByVocabularyOrder = false;
+//        }
+//
+//        sortNamedAreaByVocabularyOrder.setText(Messages.ChecklistEditorGeneralPreference_sort_areas);
+//        sortNamedAreaByVocabularyOrder.setSelection(isSortByVocabularyOrder);
+//        sortNamedAreaByVocabularyOrder.addSelectionListener(new SelectionAdapter(){
+//            @Override
+//            public void widgetSelected(SelectionEvent e) {
+//                isSortByVocabularyOrder = sortNamedAreaByVocabularyOrder.getSelection();
+//             }
+//        });
+//        final Label seperator2 = new Label(child, SWT.HORIZONTAL | SWT.SEPARATOR);
+//        final CLabel descriptionStatus = new CLabel(child, SWT.NULL);
+//        descriptionStatus.setText(Messages.ChecklistEditorGeneralPreference_STATUS_DISPLAY_TEXT);
+//        final Button showSymbol = new Button(child, SWT.CHECK);
+//        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSymbolForStatus);
+//        if (pref != null){
+//            isShowSymbol = Boolean.valueOf(pref.getValue());
+//        }else{
+//            isShowSymbol = false;
+//        }
+//
+//        showSymbol.setText(Messages.ChecklistEditorGeneralPreference_show_symbol);
+//        showSymbol.setSelection(isShowSymbol);
+//        showSymbol.addSelectionListener(new SelectionAdapter(){
+//            @Override
+//            public void widgetSelected(SelectionEvent e) {
+//                isShowSymbol = showSymbol.getSelection();
+//             }
+//        });
+////        PreferencesUtil.recursiveSetEnabled(button_openWizard, CdmStore.isActive());
+//        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowRankInDistributionEditor);
+//        if (pref != null){
+//            isShowRank = Boolean.valueOf(pref.getValue());
+//        }else{
+//            isShowRank = false;
+//        }
+//
+//        final Button activateRankButton = new Button(child, SWT.CHECK);
+//        activateRankButton.setText(Messages.ChecklistEditorGeneralPreference_show_rank);
+//        activateRankButton.setSelection(isShowRank);
+//        activateRankButton.addSelectionListener(new SelectionAdapter(){
+//            @Override
+//            public void widgetSelected(SelectionEvent e) {
+//                isShowRank = activateRankButton.getSelection();
+//            }
+//        });
+//
+//
+//        if(isEditorActivated){
+//            child.setEnabled(true);
+//        }else{
+//            child.setEnabled(false);
+//        }
+
+  //      return composite;
+    }
+
+    @Override
+    public boolean performOk() {
+        if (this.distributionEditorPref == null){
+            return true;
+        }
+        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
+        if (controller == null){
+            return false;
+        }
+        IPreferenceService service = controller.getPreferenceService();
+
+        CdmPreference pref = CdmPreference.NewTaxEditorInstance( EditorPreferencePredicate.DistributionEditorActivated, Boolean.toString(isEditorActivated));
+        //ToDo
+        pref.setAllowOverride(this.allowOverrideActivated);
+        service.set(pref);
+
+        pref = CdmPreference.NewTaxEditorInstance( EditorPreferencePredicate.DisplayOfAreasInDistributionEditor, this.displayArea);
+        //ToDo
+        pref.setAllowOverride(this.allowOverrideAreaDisplay);
+        service.set(pref);
+
+
+
+        pref = CdmPreference.NewTaxEditorInstance( EditorPreferencePredicate.DisplayOfStatus, this.displayStatus);
+        //ToDo
+        pref.setAllowOverride(this.allowOverrideStatusDisplay);
+        service.set(pref);
+
+        pref = CdmPreference.NewTaxEditorInstance( EditorPreferencePredicate.ShowRankInDistributionEditor, Boolean.toString(isShowRank));
+        //ToDo
+        pref.setAllowOverride(this.allowOverrideRank);
+        service.set(pref);
+        pref = CdmPreference.NewTaxEditorInstance( EditorPreferencePredicate.AreasSortedByIdInVocabulary, Boolean.toString(isSortByVocabularyOrder));
+        //ToDo
+        pref.setAllowOverride(this.allowOverrideOrderAreas);
+        service.set(pref);
+
+
+        PreferencesUtil.updateDBPreferences();
+
+        return true;
+    }
+
+    @Override
+    public void init() {
+        setPreferenceStore(PreferencesUtil.getPreferenceStore());
+        distributionEditorPref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.DistributionEditorActivated);
+        if (distributionEditorPref == null){
+            distributionEditorPref = CdmPreference.NewTaxEditorInstance(EditorPreferencePredicate.DistributionEditorActivated, EditorPreferencePredicate.DistributionEditorActivated.getDefaultValue().toString());
+        }
+        isEditorActivated = Boolean.valueOf(distributionEditorPref.getValue());
+        allowOverrideActivated = distributionEditorPref.isAllowOverride();
+        isAdminPreference = true;
+
+        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.DisplayOfAreasInDistributionEditor);
+        if (pref != null){
+            this.displayArea = pref.getValue();
+            this.allowOverrideAreaDisplay = pref.isAllowOverride();
+        }else{
+            this.displayArea = EditorPreferencePredicate.DisplayOfAreasInDistributionEditor.getDefaultValue().toString();
+            this.allowOverrideAreaDisplay = true;
+        }
+
+        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.DisplayOfStatus);
+        if (pref != null){
+            this.displayStatus = pref.getValue();
+            this.allowOverrideStatusDisplay = pref.isAllowOverride();
+        }else{
+            this.displayStatus = EditorPreferencePredicate.DisplayOfStatus.getDefaultValue().toString();
+            this.allowOverrideStatusDisplay = true;
+        }
+
+        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.AreasSortedByIdInVocabulary);
+        if (pref != null){
+            this.isSortByVocabularyOrder = Boolean.valueOf(pref.getValue().toString());
+            this.allowOverrideOrderAreas = pref.isAllowOverride();
+        }else{
+            this.isSortByVocabularyOrder = Boolean.valueOf(EditorPreferencePredicate.AreasSortedByIdInVocabulary.getDefaultValue().toString());
+            this.allowOverrideOrderAreas = true;
+        }
+
+        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.ShowRankInDistributionEditor);
+        if (pref != null){
+            this.isShowRank = Boolean.valueOf(pref.getValue().toString());
+            this.allowOverrideRank = pref.isAllowOverride();
+        }else{
+            this.isShowRank = Boolean.valueOf(EditorPreferencePredicate.ShowRankInDistributionEditor.getDefaultValue().toString());
+            this.allowOverrideRank = true;
+        }
+        commandHandlerString = "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler";
+        commandHandlerStringStatus = "eu.etaxonomy.taxeditor.store.open.OpenDistributionStatusWizardAdminHandler";
+
+    }
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralPreference.java
deleted file mode 100755
index 4262f533d..000000000
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralPreference.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/**
- * Copyright (C) 2014 EDIT
- * European Distributed Institute of Taxonomy
- * http://www.e-taxonomy.eu
- *
- * The contents of this file are subject to the Mozilla Public License Version 1.1
- * See LICENSE.TXT at the top of this package for the full license terms.
- */
-package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-
-import eu.etaxonomy.cdm.api.application.ICdmRepository;
-import eu.etaxonomy.cdm.api.service.IPreferenceService;
-import eu.etaxonomy.cdm.model.metadata.CdmPreference;
-import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
-import eu.etaxonomy.taxeditor.l10n.Messages;
-import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-
-/**
- * @author a.oppermann
- * @date 21.07.2014
- *
- */
-public class ChecklistEditorGeneralPreference extends CdmPreferencePage implements IE4AdminPreferencePage {
-
-    private boolean isEditorActivated;
-    private boolean allowOverride;
-    private boolean isShowRank;
-    private boolean isSortByVocabularyOrder;
-    private boolean isShowSymbol;
-    private boolean isShowIdInVocabulary;
-    private boolean isShowSymbol1;
-    private boolean isShowSymbol2;
-    private boolean isShowTitle;
-    private String displayString;
-    private Composite child ;
-    private CdmPreference distributionPref = null;
-
-    @Override
-    protected Control createContents(Composite parent) {
-
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-        distributionPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
-        if (distributionPref != null){
-            isEditorActivated = Boolean.valueOf(distributionPref.getValue());
-            allowOverride = distributionPref.isAllowOverride();
-        }else{
-            distributionPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.DistributionEditorActivated, "false"); //$NON-NLS-1$
-            isEditorActivated = false;
-            allowOverride = true;
-        }
-
-        final Button activateCheckButton = new Button(composite, SWT.CHECK);
-        activateCheckButton.setText(Messages.ChecklistEditorGeneralPreference_enable);
-        activateCheckButton.setSelection(isEditorActivated);
-        activateCheckButton.addSelectionListener(new SelectionAdapter(){
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                isEditorActivated = activateCheckButton.getSelection();
-
-                if(isEditorActivated){
-                    child.setVisible(true);
-                    child.setEnabled(true);
-                }else{
-                    child.setVisible(false);
-                    child.setEnabled(false);
-                }
-
-            }
-        });
-        final Button allowOverrideCheckButton = new Button(composite, SWT.CHECK);
-        allowOverrideCheckButton.setText(Messages.ChecklistEditorGeneralPreference_allowOverride);
-        allowOverrideCheckButton.setSelection(allowOverride);
-        allowOverrideCheckButton.addSelectionListener(new SelectionAdapter(){
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                allowOverride = allowOverrideCheckButton.getSelection();
-
-            }
-        });
-
-        child  = new Composite(composite, SWT.NULL);
-        child.setLayout(new GridLayout());
-        child.setVisible(isEditorActivated);
-
-
-
-//
-
-
-//
-//        final CommandHandlerButton button_openWizard = new CommandHandlerButton(child, SWT.PUSH,
-//                "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler");
-//
-//        button_openWizard.setText(Messages.ChecklistEditorGeneralPreference_open_distribution_selection);
-
-//        Table table = new Table
-        final CLabel description = new CLabel(child, SWT.NULL);
-        description.setText(Messages.ChecklistEditorGeneralPreference_Configure_display_of_Areas);
-
-        final Button showIdInVocabulary = new Button(child, SWT.RADIO);
-        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowIdInVocabulary);
-        if (pref != null){
-            isShowIdInVocabulary = Boolean.valueOf(pref.getValue());
-        }else{
-            isShowIdInVocabulary = false;
-        }
-        showIdInVocabulary.setText(Messages.ChecklistEditorGeneralPreference_show_id_in_voc);
-        showIdInVocabulary.setSelection(isShowIdInVocabulary);
-        showIdInVocabulary.addSelectionListener(new SelectionAdapter(){
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                isShowIdInVocabulary = showIdInVocabulary.getSelection();
-
-             }
-        });
-        final Button showSymbol1 = new Button(child, SWT.RADIO);
-        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSymbol1);
-        if (pref != null){
-            isShowSymbol1 = Boolean.valueOf(pref.getValue());
-        }else{
-            isShowSymbol1 = false;
-        }
-        showSymbol1.setText(Messages.ChecklistEditorGeneralPreference_show_symbol1);
-        showSymbol1.setSelection(isShowSymbol1);
-        showSymbol1.addSelectionListener(new SelectionAdapter(){
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                isShowSymbol1 = showSymbol1.getSelection();
-
-             }
-        });
-        final Button showSymbol2 = new Button(child, SWT.RADIO);
-        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSymbol2);
-        if (pref != null){
-            isShowSymbol2 = Boolean.valueOf(pref.getValue());
-        }else{
-            isShowSymbol2 = false;
-        }
-        showSymbol2.setText(Messages.ChecklistEditorGeneralPreference_show_symbol2);
-        showSymbol2.setSelection(isShowSymbol2);
-        showSymbol2.addSelectionListener(new SelectionAdapter(){
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                isShowSymbol2 = showSymbol2.getSelection();
-
-             }
-        });
-        final Button showTitle = new Button(child, SWT.RADIO);
-        isShowTitle = !(isShowIdInVocabulary || isShowSymbol1 || isShowSymbol2);
-
-        showTitle.setText(Messages.ChecklistEditorGeneralPreference_show_title);
-        showTitle.setSelection(isShowTitle);
-        showTitle.addSelectionListener(new SelectionAdapter(){
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                isShowTitle = showTitle.getSelection();
-
-             }
-        });
-
-        final Label seperator1 = new Label(child, SWT.HORIZONTAL | SWT.SEPARATOR);
-        final Button sortNamedAreaByVocabularyOrder = new Button(child, SWT.CHECK);
-
-        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AreasSortedByIdInVocabulary);
-        if (pref != null){
-            isSortByVocabularyOrder = Boolean.valueOf(pref.getValue());
-        }else{
-            isSortByVocabularyOrder = false;
-        }
-
-        sortNamedAreaByVocabularyOrder.setText(Messages.ChecklistEditorGeneralPreference_sort_areas);
-        sortNamedAreaByVocabularyOrder.setSelection(isSortByVocabularyOrder);
-        sortNamedAreaByVocabularyOrder.addSelectionListener(new SelectionAdapter(){
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                isSortByVocabularyOrder = sortNamedAreaByVocabularyOrder.getSelection();
-             }
-        });
-        final Label seperator2 = new Label(child, SWT.HORIZONTAL | SWT.SEPARATOR);
-        final CLabel descriptionStatus = new CLabel(child, SWT.NULL);
-        descriptionStatus.setText(Messages.ChecklistEditorGeneralPreference_STATUS_DISPLAY_TEXT);
-        final Button showSymbol = new Button(child, SWT.CHECK);
-        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowSymbolForStatus);
-        if (pref != null){
-            isShowSymbol = Boolean.valueOf(pref.getValue());
-        }else{
-            isShowSymbol = false;
-        }
-
-        showSymbol.setText(Messages.ChecklistEditorGeneralPreference_show_symbol);
-        showSymbol.setSelection(isShowSymbol);
-        showSymbol.addSelectionListener(new SelectionAdapter(){
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                isShowSymbol = showSymbol.getSelection();
-             }
-        });
-//        PreferencesUtil.recursiveSetEnabled(button_openWizard, CdmStore.isActive());
-        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowRankInDistributionEditor);
-        if (pref != null){
-            isShowRank = Boolean.valueOf(pref.getValue());
-        }else{
-            isShowRank = false;
-        }
-
-        final Button activateRankButton = new Button(child, SWT.CHECK);
-        activateRankButton.setText(Messages.ChecklistEditorGeneralPreference_show_rank);
-        activateRankButton.setSelection(isShowRank);
-        activateRankButton.addSelectionListener(new SelectionAdapter(){
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                isShowRank = activateRankButton.getSelection();
-            }
-        });
-
-
-        if(isEditorActivated){
-            child.setEnabled(true);
-        }else{
-            child.setEnabled(false);
-        }
-
-        return composite;
-    }
-
-    @Override
-    public boolean performOk() {
-        if (distributionPref == null){
-            return true;
-        }
-        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
-        if (controller == null){
-            return false;
-        }
-        IPreferenceService service = controller.getPreferenceService();
-
-        CdmPreference pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DistributionEditorActivated, Boolean.toString(isEditorActivated));
-        //ToDo
-        pref.setAllowOverride(allowOverride);
-        service.set(pref);
-
-        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowIdInVocabulary, Boolean.toString(isShowIdInVocabulary));
-        //ToDo
-        pref.setAllowOverride(true);
-        service.set(pref);
-
-        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowSymbol1, Boolean.toString(isShowSymbol1));
-        //ToDo
-        pref.setAllowOverride(true);
-        service.set(pref);
-        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowSymbol2, Boolean.toString(isShowSymbol2));
-        //ToDo
-        pref.setAllowOverride(true);
-        service.set(pref);
-
-
-        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowSymbolForStatus, Boolean.toString(isShowSymbol));
-        //ToDo
-        pref.setAllowOverride(true);
-        service.set(pref);
-
-        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.ShowRankInDistributionEditor, Boolean.toString(isShowRank));
-        //ToDo
-        pref.setAllowOverride(true);
-        service.set(pref);
-        pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.AreasSortedByIdInVocabulary, Boolean.toString(isSortByVocabularyOrder));
-        //ToDo
-        pref.setAllowOverride(true);
-        service.set(pref);
-
-        PreferencesUtil.setBooleanValue(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE, isEditorActivated);
-        PreferencesUtil.setSortNamedAreasByOrderInVocabulary(isSortByVocabularyOrder);
-        PreferencesUtil.setShowRankInChecklistEditor(isShowRank);
-        PreferencesUtil.setShowSymbolInChecklistEditor(isShowSymbol);
-
-        if (isShowIdInVocabulary){
-            displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_ID_IN_VOCABULARY;
-        }else if (isShowSymbol1){
-            displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_SYMBOL1;
-        }else if (isShowSymbol2){
-            displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_SYMBOL2;
-        }else{
-            displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_TITLE;
-        }
-        PreferencesUtil.setShowIdInVocabularyInChecklistEditor(displayString);
-        PreferencesUtil.updateDBPreferences();
-
-        return true;
-    }
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/DistributionAdminPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/DistributionAdminPreferences.java
index fec06255b..4e1361a9f 100755
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/DistributionAdminPreferences.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/DistributionAdminPreferences.java
@@ -12,7 +12,7 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CLabel;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -38,18 +38,18 @@ public class DistributionAdminPreferences extends CdmPreferencePage implements I
 
     @Override
     protected Control createContents(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-
+        isAdminPreference = true;
+        Composite composite = createComposite(parent);
+        GridData labelGridData = new GridData();
+        labelGridData.horizontalSpan = 2;
+        labelGridData.verticalSpan = 4;
 
         prefAreas = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaVocabularies);
         allowOverrideAreas = prefAreas != null?prefAreas.isAllowOverride():true;
 
-
-
         final CLabel label = new CLabel(composite, SWT.NULL);
         label.setText(Messages.ChecklistEditorGeneralPreference_open_wizard);
-
+        label.setLayoutData(labelGridData);
         final CommandHandlerButton button_openWizard = new CommandHandlerButton(composite, SWT.PUSH,
                 "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler"); //$NON-NLS-1$
 
@@ -72,7 +72,10 @@ public class DistributionAdminPreferences extends CdmPreferencePage implements I
 
         final CLabel labelStatus = new CLabel(composite, SWT.NULL);
         labelStatus.setText(Messages.DistributionAdminPreferences_SELECT_STATUS);
-
+        GridData labelStatusGridData = new GridData();
+        labelStatusGridData.horizontalSpan = 2;
+        labelStatusGridData.verticalSpan = 2;
+        labelStatus.setLayoutData(labelStatusGridData);
         final CommandHandlerButton button_openStatusWizard = new CommandHandlerButton(composite, SWT.PUSH,
                 "eu.etaxonomy.taxeditor.store.open.OpenDistributionStatusWizardAdminHandler"); //$NON-NLS-1$
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/PublishFlagPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/PublishFlagPreference.java
index db15097d9..1af7950da 100755
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/PublishFlagPreference.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/PublishFlagPreference.java
@@ -10,10 +10,9 @@ package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 
@@ -22,8 +21,9 @@ import eu.etaxonomy.cdm.api.service.IPreferenceService;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.taxeditor.l10n.Messages;
-import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.EditorPreferencePredicate;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.PublishEnum;
 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
@@ -34,14 +34,10 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class PublishFlagPreference extends CdmPreferencePage implements IE4AdminPreferencePage{
 
-   boolean setPublish;
-   boolean setNotPublish;
-   boolean inheritFromParent;
+    PublishEnum publishBehaviour;
 
-   String do_not_publish = "DO NOT PUBLISH";
-   String inherit_from_parent = "PARENT";
-   String publish = "PUBLISH";
-   CdmPreference pref = null;
+    Combo publishFlagBehaviour;
+    CdmPreference pref = null;
 
    @Override
    public void init() {
@@ -56,64 +52,38 @@ public class PublishFlagPreference extends CdmPreferencePage implements IE4Admin
     protected Control createContents(Composite parent) {
         pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DefaultBehaviourForPublishFlag);
         if (pref == null){
-            pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.DefaultBehaviourForPublishFlag, IPreferenceKeys.PUBLISH);
+            pref = CdmPreference.NewTaxEditorInstance(EditorPreferencePredicate.DefaultBehaviourForPublishFlag, EditorPreferencePredicate.DefaultBehaviourForPublishFlag.getDefaultValue().toString());
         }
 
-        if (pref.getValue().equals(IPreferenceKeys.DO_NOT_PUBLISH)){
-            setNotPublish = true;
-            setPublish = false;
-            inheritFromParent = false;
-        }
-
-        if (pref.getValue().equals(IPreferenceKeys.INHERIT_FROM_PARENT)){
-            setNotPublish = false;
-            setPublish = false;
-            inheritFromParent = true;
-        }
-
-        if (pref.getValue().equals(IPreferenceKeys.PUBLISH)){
-            setNotPublish = false;
-            setPublish = true;
-            inheritFromParent = false;
-        }
         final Composite composite = new Composite(parent, SWT.NULL);
 
         GridLayout gridLayout = new GridLayout();
         composite.setLayout(gridLayout);
         final CLabel description = new CLabel(composite, SWT.NULL);
         description.setText(Messages.PublishFlagPreference_description);
-        gridLayout.numColumns = 1;
-        gridLayout.horizontalSpacing= 10;
-        gridLayout.makeColumnsEqualWidth = true;
-
-        Button setPublishFlagAsDefault = new Button(composite, SWT.RADIO);
-        setPublishFlagAsDefault.setText(Messages.PublishFlagPreference_set);
-        setPublishFlagAsDefault.setSelection(setPublish);
-        setPublishFlagAsDefault.addSelectionListener(new SelectionAdapter() {
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-               setPublish = !setPublish;
-            }
-        });
-        Button setNotPublishFlagAsDefault = new Button(composite, SWT.RADIO);
-        setNotPublishFlagAsDefault.setText(Messages.PublishFlagPreference_do_not_set);
-        setNotPublishFlagAsDefault.setSelection(setNotPublish);
-        setNotPublishFlagAsDefault.addSelectionListener(new SelectionAdapter() {
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                setNotPublish = !setNotPublish;
-            }
-        });
-
-        Button setInheritFromParent = new Button(composite, SWT.RADIO);
-        setInheritFromParent.setText(Messages.PublishFlagPreference_inherit);
-        setInheritFromParent.setSelection(inheritFromParent);
-        setInheritFromParent.addSelectionListener(new SelectionAdapter() {
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                inheritFromParent = !inheritFromParent;
+
+        GridData gridData = new GridData();
+        gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
+        gridData.horizontalIndent = 5;
+
+        publishFlagBehaviour = new Combo(composite, SWT.BORDER| SWT.READ_ONLY);
+        publishFlagBehaviour.setLayoutData(gridData);
+
+        for(PublishEnum display: PublishEnum.values()){
+            publishFlagBehaviour.add(display.getLabel());
+        }
+
+        int index = 0;
+
+        PublishEnum publishFlag = PublishEnum.valueOf(pref.getValue());
+        for (String itemLabel : publishFlagBehaviour.getItems()){
+            if (itemLabel.equalsIgnoreCase(publishFlag.getLabel())){
+                publishFlagBehaviour.select(index);
+                break;
             }
-        });
+            index++;
+        }
+
 
         return composite;
 
@@ -125,15 +95,8 @@ public class PublishFlagPreference extends CdmPreferencePage implements IE4Admin
         if (pref == null){
             return true;
         }
-        String preferenceValue = null;
-        if (setPublish){
-            preferenceValue = publish;
-        }else if (setNotPublish){
-            preferenceValue = do_not_publish;
-        } else{
-            preferenceValue = inherit_from_parent;
-        }
-        CdmPreference pref = CdmPreference.NewTaxEditorInstance( PreferencePredicate.DefaultBehaviourForPublishFlag, preferenceValue);
+
+        CdmPreference pref = CdmPreference.NewTaxEditorInstance(EditorPreferencePredicate.DefaultBehaviourForPublishFlag, publishFlagBehaviour.getText());
         pref.setAllowOverride(true);
 
         ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/VocabularyAdminPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/VocabularyAdminPreferences.java
new file mode 100755
index 000000000..72c38d604
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/VocabularyAdminPreferences.java
@@ -0,0 +1,104 @@
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CLabel;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+import eu.etaxonomy.cdm.api.application.ICdmRepository;
+import eu.etaxonomy.cdm.api.service.IPreferenceService;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
+
+/**
+ * @author k.luther
+ * @since 05.10.2018
+ *
+ */
+public class VocabularyAdminPreferences extends CdmPreferencePage implements IE4AdminPreferencePage {
+
+    boolean allowOverride;
+    CdmPreference pref = null;
+
+    @Override
+    protected Control createContents(Composite parent) {
+        this.isAdminPreference = true;
+        Composite composite = createComposite(parent);
+        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.CommonNameAreaVocabularies);
+
+
+        final CLabel commonNameAreaLabel = new CLabel(composite, SWT.NULL);
+        commonNameAreaLabel.setText(Messages.VokabularyAdminPreferences_SELECT_VOCABULARY_TEXT);
+
+        GridData gridData = new GridData();
+        gridData.horizontalSpan = 2;
+        commonNameAreaLabel.setLayoutData(gridData);
+
+        final CommandHandlerButton button_opencommonNameAreaWizard = new CommandHandlerButton(composite, SWT.PUSH,
+                "eu.etaxonomy.taxeditor.store.open.OpenCommonNameAreaWizardAdminHandler"); //$NON-NLS-1$
+
+        button_opencommonNameAreaWizard.setText(Messages.GeneralPreference_open_common_name_area_selection);
+        final Button allowOverrideCommonNameAreaCheckButton = new Button(composite, SWT.CHECK);
+        allowOverrideCommonNameAreaCheckButton.setText(Messages.ChecklistEditorGeneralPreference_allowOverride);
+
+        if (pref != null){
+            allowOverride = pref.isAllowOverride();
+            allowOverrideCommonNameAreaCheckButton.setSelection(allowOverride);
+        }
+        else{
+            allowOverrideCommonNameAreaCheckButton.setSelection(true);
+        }
+
+        allowOverrideCommonNameAreaCheckButton.addSelectionListener(new SelectionAdapter(){
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                allowOverride = allowOverrideCommonNameAreaCheckButton.getSelection();
+
+            }
+        });
+
+        return composite;
+    }
+
+    @Override
+    public boolean performOk() {
+        if (pref == null){
+            return true;
+        }
+        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
+
+        if(controller!=null){
+            IPreferenceService service = controller.getPreferenceService();
+
+            CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.CommonNameAreaVocabularies);
+            if(pref==null){
+                pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.CommonNameAreaVocabularies, "");
+            }
+            pref.setAllowOverride(allowOverride);
+            service.set(pref);
+
+            PreferencesUtil.updateDBPreferences();
+        }
+        return true;
+
+    }
+
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/VokabularyAdminPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/VokabularyAdminPreferences.java
deleted file mode 100755
index 125d1f590..000000000
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/VokabularyAdminPreferences.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
-* Copyright (C) 2018 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-import eu.etaxonomy.cdm.api.application.ICdmRepository;
-import eu.etaxonomy.cdm.api.service.IPreferenceService;
-import eu.etaxonomy.cdm.model.metadata.CdmPreference;
-import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
-import eu.etaxonomy.taxeditor.l10n.Messages;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
-
-/**
- * @author k.luther
- * @since 05.10.2018
- *
- */
-public class VokabularyAdminPreferences extends CdmPreferencePage implements IE4AdminPreferencePage {
-
-    boolean allowOverride;
-    CdmPreference pref = null;
-
-    @Override
-    protected Control createContents(Composite parent) {
-
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-
-        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.CommonNameAreaVocabularies);
-
-
-        final CLabel commonNameAreaLabel = new CLabel(composite, SWT.NULL);
-        commonNameAreaLabel.setText(Messages.VokabularyAdminPreferences_SELECT_VOCABULARY_TEXT);
-
-        final CommandHandlerButton button_opencommonNameAreaWizard = new CommandHandlerButton(composite, SWT.PUSH,
-                "eu.etaxonomy.taxeditor.store.open.OpenCommonNameAreaWizardAdminHandler"); //$NON-NLS-1$
-
-        button_opencommonNameAreaWizard.setText(Messages.GeneralPreference_open_common_name_area_selection);
-        final Button allowOverrideCommonNameAreaCheckButton = new Button(composite, SWT.CHECK);
-        allowOverrideCommonNameAreaCheckButton.setText(Messages.ChecklistEditorGeneralPreference_allowOverride);
-
-        if (pref != null){
-            allowOverride = pref.isAllowOverride();
-            allowOverrideCommonNameAreaCheckButton.setSelection(allowOverride);
-        }
-        else{
-            allowOverrideCommonNameAreaCheckButton.setSelection(true);
-        }
-
-        allowOverrideCommonNameAreaCheckButton.addSelectionListener(new SelectionAdapter(){
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                allowOverride = allowOverrideCommonNameAreaCheckButton.getSelection();
-
-            }
-        });
-
-        return composite;
-    }
-
-    @Override
-    public boolean performOk() {
-        if (pref == null){
-            return true;
-        }
-        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
-
-        if(controller!=null){
-            IPreferenceService service = controller.getPreferenceService();
-
-            CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.CommonNameAreaVocabularies);
-            if(pref==null){
-                pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.CommonNameAreaVocabularies, "");
-            }
-            pref.setAllowOverride(allowOverride);
-            service.set(pref);
-
-            PreferencesUtil.updateDBPreferences();
-        }
-        return true;
-
-    }
-
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/DatabasePreferencesWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/DatabasePreferencesWizard.java
index df288afac..82e509887 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/DatabasePreferencesWizard.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/DatabasePreferencesWizard.java
@@ -56,9 +56,9 @@ public class DatabasePreferencesWizard extends Wizard {
 
 //       getPreferencePage().performOk();
 
-        String value =getPreferencePage().doGetPreferenceStore().getString(IPreferenceKeys.PREFERRED_NOMENCLATURAL_CODE_KEY);
+        String value =PreferencesUtil.getStringValue(IPreferenceKeys.PREFERRED_NOMENCLATURAL_CODE_KEY);
 
-        boolean allowOverride =  getPreferencePage().doGetPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY);
+        boolean allowOverride =  PreferencesUtil.getBooleanValue(IPreferenceKeys.ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY);
         CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.NomenclaturalCode, value);
         pref.setAllowOverride(allowOverride);
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/ImportPreferencesWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/ImportPreferencesWizard.java
index bac3f31ef..b33628574 100755
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/ImportPreferencesWizard.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/ImportPreferencesWizard.java
@@ -10,13 +10,8 @@ package eu.etaxonomy.taxeditor.databaseAdmin.wizard;
 
 import org.eclipse.jface.wizard.Wizard;
 
-import eu.etaxonomy.cdm.api.application.ICdmRepository;
-import eu.etaxonomy.cdm.api.service.IPreferenceService;
-import eu.etaxonomy.cdm.model.metadata.CdmPreference;
-import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.taxeditor.io.wizard.AbcdImportConfiguratorWizardPage;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
  * @author k.luther
@@ -30,7 +25,7 @@ public class ImportPreferencesWizard extends Wizard {
     public ImportPreferencesWizard() {
         setWindowTitle("Abcd Import Configuration Wizard");
 
-        configPage = AbcdImportConfiguratorWizardPage.createPreferencePage(PreferencesUtil.getAbcdImportConfigurationPreference());
+        configPage = AbcdImportConfiguratorWizardPage.createPreferencePage(PreferencesUtil.getLocalAbcdImportConfigurator());
 
     }
     @Override
@@ -44,17 +39,7 @@ public class ImportPreferencesWizard extends Wizard {
     public boolean performFinish() {
         String configString = "";
         this.configPage.saveConfigToPrefernceStore();
-        configString = this.configPage.createConfigString();
 
-        CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.AbcdImportConfig, configString);
-        pref.setAllowOverride(true);
-
-        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
-        if (controller == null){
-            return false;
-        }
-        IPreferenceService service = controller.getPreferenceService();
-        service.set(pref);
 
 
        return true;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionStatusWizardAdminHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionStatusWizardAdminHandler.java
index cd8b58634..1c52598f2 100755
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionStatusWizardAdminHandler.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionStatusWizardAdminHandler.java
@@ -23,7 +23,7 @@ import eu.etaxonomy.taxeditor.preference.wizard.AvailableDistributionStatusWizar
  *
  */
 public class OpenDistributionStatusWizardAdminHandler {
-    String commandID = "eu.etaxonomy.taxeditor.handler.e4.OpenDistributionStatusWizardAdminHandler";
+    String commandID = "eu.etaxonomy.taxeditor.handler.e4.OpenDistributionEditorWizardAdminHandlerE4";
 
     @Execute
     public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell) {
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionStatusWizardHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionStatusWizardHandler.java
new file mode 100755
index 000000000..ff64bc506
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionStatusWizardHandler.java
@@ -0,0 +1,38 @@
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.handler.e4;
+
+import javax.inject.Named;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Shell;
+
+import eu.etaxonomy.taxeditor.preference.wizard.AvailableDistributionStatusWizard;
+
+/**
+ * @author k.luther
+ * @since 19.11.2018
+ *
+ */
+public class OpenDistributionStatusWizardHandler {
+    String commandID = "eu.etaxonomy.taxeditor.handler.e4.OpenDistributionStatusWizardHandler";
+
+    @Execute
+    public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell) {
+
+        AvailableDistributionStatusWizard wizard = new AvailableDistributionStatusWizard();
+
+        WizardDialog dialog = new WizardDialog(shell,
+                wizard);
+
+        dialog.open();
+    }
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/in/abcd/AbcdImportWizardE4.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/in/abcd/AbcdImportWizardE4.java
index 623a9e5ac..4f463c530 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/in/abcd/AbcdImportWizardE4.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/in/abcd/AbcdImportWizardE4.java
@@ -68,7 +68,7 @@ public class AbcdImportWizardE4 extends AbstractImportWizardE4<Abcd206ImportConf
 	/** {@inheritDoc} */
 	@Override
     public void init() {
-		configurator =  PreferencesUtil.getAbcdImportConfigurationPreference();
+		configurator =  PreferencesUtil.getLocalAbcdImportConfigurator();
 	}
 
 	@Override
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbcdImportConfiguratorWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbcdImportConfiguratorWizardPage.java
index b2a1477fe..41611f863 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbcdImportConfiguratorWizardPage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbcdImportConfiguratorWizardPage.java
@@ -250,6 +250,16 @@ public class AbcdImportConfiguratorWizardPage extends AbstractPreferenceWizard i
 
         // TODO remember last selection
         nomenclaturalCodeSelectionCombo.addSelectionListener(this);
+        int index = 0;
+        if (abcdImportConfigurator.getNomenclaturalCode() != null){
+            for (String label : nomenclaturalCodeSelectionCombo.getItems()){
+                if (label.equals(abcdImportConfigurator.getNomenclaturalCode().getKey())){
+                    nomenclaturalCodeSelectionCombo.select(index);
+                }
+                index++;
+            }
+        }
+
 		setControl(composite);
 	}
 
@@ -268,6 +278,8 @@ public class AbcdImportConfiguratorWizardPage extends AbstractPreferenceWizard i
                     abcdImportConfigurator.isAllowReuseOtherClassifications());
 	        PreferencesUtil.setBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_CLASSIFICATIONS,
                     abcdImportConfigurator.isDeduplicateClassifications());
+	        PreferencesUtil.setBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REMOVE_COUNTRY_FROM_LOCALITY_TEXT,
+                    abcdImportConfigurator.isRemoveCountryFromLocalityText());
 	        PreferencesUtil.setBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_REFERENCES,
                     abcdImportConfigurator.isDeduplicateReferences());
 	        PreferencesUtil.setBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DO_SIBLINGS,
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbcdImportWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbcdImportWizard.java
index 82f1ead1c..3ffd67a06 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbcdImportWizard.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbcdImportWizard.java
@@ -62,7 +62,7 @@ public class AbcdImportWizard extends AbstractImportWizard<Abcd206ImportConfigur
 	@Override
     public void init(IWorkbench workbench, IStructuredSelection selection) {
 		super.init(workbench, selection);
-		configurator =  PreferencesUtil.getAbcdImportConfigurationPreference();
+		configurator =  PreferencesUtil.getLocalAbcdImportConfigurator();
 	}
 
 	@Override
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java
index 3ce93cd05..3338a4f57 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java
@@ -677,7 +677,7 @@ public class Messages extends NLS {
 
     public static String ChecklistEditorGeneralPreference_Configure_display_of_Areas;
 
-
+    public static String ChecklistEditorGeneralPreference_Configure_display_of_Status;
 
 
     public static String ChecklistEditorGeneralPreference_STATUS_DISPLAY_TEXT;
@@ -688,6 +688,7 @@ public class Messages extends NLS {
 
 
 
+
     public static String VokabularyAdminPreferences_SELECT_VOCABULARY_TEXT;
 
 
@@ -695,6 +696,11 @@ public class Messages extends NLS {
 
 
 
+
+
+
+
+
     static {
         // initialize resource bundle
         NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties
index 7ad54997b..581a2641d 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties
@@ -340,9 +340,10 @@ AvailableVocabularyWizard_WIZARD_TITLE=Vocabulary Selection
 ChecklistEditorGeneralPreference_3=eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler
 ChecklistEditorGeneralPreference_enable=Enable Distribution Editor
 ChecklistEditorGeneralPreference_allowOverride=Allow override
-ChecklistEditorGeneralPreference_open_distribution_selection=Select Areas
-ChecklistEditorGeneralPreference_open_wizard=Please open the wizard below, in order to \nchoose the areas for the Distribution Editor
+ChecklistEditorGeneralPreference_open_distribution_selection=Select Area Vocabularies
+ChecklistEditorGeneralPreference_open_wizard=Please open the wizard below, in order to \nchoose the area vocabularies for the Distribution Editor
 ChecklistEditorGeneralPreference_Configure_display_of_Areas=Configure how the areas should be displayed in the column header
+ChecklistEditorGeneralPreference_Configure_display_of_Status=Configure how the status should be displayed in Distribution Editor
 ChecklistEditorGeneralPreference_show_id_in_voc=Id in Vocabulary
 ChecklistEditorGeneralPreference_show_symbol1=Symbol
 ChecklistEditorGeneralPreference_show_symbol2=Second Symbol
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties
index f80f878bc..3648831aa 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties
@@ -340,9 +340,10 @@ AvailableVocabularyWizard_WIZARD_TITLE=Vokabular ausw
 ChecklistEditorGeneralPreference_3=eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler
 ChecklistEditorGeneralPreference_enable=Verbreitungs-Editor aktivieren
 ChecklistEditorGeneralPreference_allowOverride=Erlaube Überschreiben
-ChecklistEditorGeneralPreference_open_distribution_selection=Gebiete Auswählen
-ChecklistEditorGeneralPreference_open_wizard=Bitte öffnen Sie den Auswahl-Dialog, um die \nGebiete für den Verbreitungs-Editor auszuwählen
+ChecklistEditorGeneralPreference_open_distribution_selection=Gebiets Vokabulare Auswählen
+ChecklistEditorGeneralPreference_open_wizard=Bitte öffnen Sie den Auswahl-Dialog, um die \nVokabulare für die Areale im Verbreitungs-Editor auszuwählen
 ChecklistEditorGeneralPreference_Configure_display_of_Areas=Konfiguration, wie die Areas im Header der Tabelle dargestellt werden
+ChecklistEditorGeneralPreference_Configure_display_of_Status=Konfiguration, wie die Status im Verbreitungseditor dargestellt werden
 ChecklistEditorGeneralPreference_show_id_in_voc=Id im Vokabular
 ChecklistEditorGeneralPreference_show_symbol1=Symbol
 ChecklistEditorGeneralPreference_show_symbol2=Zweites Symbol
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java
index 5f250a7c8..540908b21 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java
@@ -12,8 +12,11 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CLabel;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
@@ -22,7 +25,6 @@ import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
-import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
 
 /**
@@ -30,19 +32,29 @@ import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
  * @date 21.07.2014
  *
  */
-public class ChecklistEditorGeneralPreference extends CdmPreferencePage {
+public class ChecklistEditorGeneralPreference extends CdmPreferencePage implements SelectionListener {
 
-    boolean isEditorActivated;
+    protected boolean isEditorActivated;
+    protected boolean allowOverrideActivated;
     boolean isUseLocal;
-    boolean isShowRank;
-    boolean isSortByVocabularyOrder;
-    boolean isShowSymbol;
-    boolean isShowIdInVocabulary;
-    boolean isShowSymbol1;
-    boolean isShowSymbol2;
-    boolean isShowTitle;
+    protected boolean isShowRank;
+    protected boolean isSortByVocabularyOrder;
+    protected String displayStatus;
+    protected String displayArea;
+    protected boolean allowOverrideStatus;
+    protected boolean allowOverrideRank;
+    protected boolean allowOverrideOrderAreas;
+    protected boolean allowOverrideAreaDisplay;
+    protected boolean allowOverrideStatusDisplay;
+    Combo statusDisplaySelectionCombo;
+    Combo areaDisplaySelectionCombo;
+
+    protected String commandHandlerString;
+    protected String commandHandlerStringStatus;
+
+    protected CdmPreference distributionEditorPref;
     Composite child ;
-    boolean isAllowOverride;
+    protected boolean isAllowOverride;
 
     @Override
     protected Control createContents(Composite parent) {
@@ -50,19 +62,11 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage {
         Composite composite = new Composite(parent, SWT.NULL);
         composite.setLayout(new GridLayout());
 
-        CdmPreference distributionEditorPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
-        isAllowOverride = false;
-            if (distributionEditorPref != null){
-                isAllowOverride = distributionEditorPref.isAllowOverride();
-            }else{
-                isAllowOverride = true;
-            }
-
 
-            if (isAllowOverride){
-            isEditorActivated = PreferencesUtil.getBooleanValue(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE);
-            final Button activateCheckButton = new Button(composite, SWT.CHECK);
-            activateCheckButton.setText("Enable Distribution Editor");
+        if (isAllowOverride || isAdminPreference){
+            Composite activateComp = createComposite(composite);
+            final Button activateCheckButton = new Button(activateComp, SWT.CHECK);
+            activateCheckButton.setText(Messages.ChecklistEditorGeneralPreference_enable);
             activateCheckButton.setSelection(isEditorActivated);
             activateCheckButton.addSelectionListener(new SelectionAdapter(){
                 @Override
@@ -80,85 +84,38 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage {
                 }
             });
 
-            child  = new Composite(composite, SWT.NULL);
-            child.setLayout(new GridLayout());
-            child.setVisible(isEditorActivated);
-            final CLabel label = new CLabel(child, SWT.NULL);
-            label.setText("Please open the wizard below, in order to \n" + "choose the area vocabularies for the Distribution Editor");
-            final CommandHandlerButton button_openFeatureTree = new CommandHandlerButton(child, SWT.PUSH,
-                    "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler");
-
-            button_openFeatureTree.setText("Select Areas");
-
-            final CLabel description = new CLabel(child, SWT.NULL);
-            description.setText(Messages.ChecklistEditorGeneralPreference_Configure_display_of_Areas);
-
-            final Button showIdInVocabulary = new Button(child, SWT.RADIO);
-            isShowIdInVocabulary = PreferencesUtil.isShowIdInVocabularyInChecklistEditor();
-            showIdInVocabulary.setText("Show Id in Vocabulary instead of full title of the areas");
-            showIdInVocabulary.setSelection(isShowIdInVocabulary);
-            showIdInVocabulary.addSelectionListener(new SelectionAdapter(){
-                @Override
-                public void widgetSelected(SelectionEvent e) {
-                    isShowIdInVocabulary = showIdInVocabulary.getSelection();
-
-                 }
-            });
-
-
-            final Button showSymbol1 = new Button(child, SWT.RADIO);
-            isShowSymbol1 = PreferencesUtil.isShowSymbol1InChecklistEditor();
-
-            showSymbol1.setText(Messages.ChecklistEditorGeneralPreference_show_symbol1);
-            showSymbol1.setSelection(isShowSymbol1);
-            showSymbol1.addSelectionListener(new SelectionAdapter(){
-                @Override
-                public void widgetSelected(SelectionEvent e) {
-                    isShowSymbol1 = showSymbol1.getSelection();
-
-                 }
-            });
-            final Button showSymbol2 = new Button(child, SWT.RADIO);
-            isShowSymbol2 = PreferencesUtil.isShowSymbol2InChecklistEditor();
+            if (isAdminPreference){
+                Button allowOverrideActivatedButton = createAllowOverrideButton(activateComp);
+                allowOverrideActivatedButton.setSelection(allowOverrideActivated);
 
-            showSymbol2.setText(Messages.ChecklistEditorGeneralPreference_show_symbol2);
-            showSymbol2.setSelection(isShowSymbol2);
-            showSymbol2.addSelectionListener(new SelectionAdapter(){
-                @Override
-                public void widgetSelected(SelectionEvent e) {
-                    isShowSymbol2 = showSymbol2.getSelection();
+                allowOverrideActivatedButton.addSelectionListener(new SelectionAdapter(){
+                    @Override
+                    public void widgetSelected(SelectionEvent e) {
+                        allowOverrideActivated = allowOverrideActivatedButton.getSelection();
+                    }
+                });
+            }
 
-                 }
-            });
 
-            final Button showTitle = new Button(child, SWT.RADIO);
-            isShowTitle = !(isShowIdInVocabulary || isShowSymbol1 || isShowSymbol2);
+            child  = createComposite(composite);
 
-            showTitle.setText(Messages.ChecklistEditorGeneralPreference_show_title);
-            showTitle.setSelection(isShowTitle);
-            showTitle.addSelectionListener(new SelectionAdapter(){
-                @Override
-                public void widgetSelected(SelectionEvent e) {
-                    isShowTitle = showTitle.getSelection();
+            child.setVisible(isEditorActivated);
+            Label separator= new Label(child, SWT.HORIZONTAL | SWT.SEPARATOR);
+            GridData sepGrid = new GridData(GridData.FILL_HORIZONTAL);
+            if (isAdminPreference){
+                sepGrid.horizontalSpan = 2;
+            }
 
-                 }
-            });
+            GridData textGrid = new GridData(GridData.FILL_HORIZONTAL);
+            if (isAdminPreference){
+                textGrid.horizontalSpan = 2;
+            }
+            textGrid.verticalSpan = 2;
+            separator.setLayoutData(sepGrid);
 
 
-            final Button showSymbol = new Button(child, SWT.CHECK);
-            isShowSymbol = PreferencesUtil.isShowSymbolInChecklistEditor();
-            showSymbol.setText("Show Symbol of the Status, if existing");
-            showSymbol.setSelection(isShowSymbol);
-            showSymbol.addSelectionListener(new SelectionAdapter(){
-                @Override
-                public void widgetSelected(SelectionEvent e) {
-                    isShowSymbol = showSymbol.getSelection();
-                 }
-            });
-            PreferencesUtil.recursiveSetEnabled(button_openFeatureTree, CdmStore.isActive());
-            isShowRank = PreferencesUtil.isShowRankInChecklistEditor();
             final Button activateRankButton = new Button(child, SWT.CHECK);
-            activateRankButton.setText("Show Rank in Distribution Editor");
+            activateRankButton.setText(Messages.ChecklistEditorGeneralPreference_show_rank);
             activateRankButton.setSelection(isShowRank);
             activateRankButton.addSelectionListener(new SelectionAdapter(){
                 @Override
@@ -166,9 +123,26 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage {
                     isShowRank = activateRankButton.getSelection();
                 }
             });
+
+            if (isAdminPreference){
+                Button allowOverrideRankButton = createAllowOverrideButton(child);
+                allowOverrideRankButton.setSelection(allowOverrideRank);
+
+                allowOverrideRankButton.addSelectionListener(new SelectionAdapter(){
+                    @Override
+                    public void widgetSelected(SelectionEvent e) {
+                        allowOverrideRank = allowOverrideRankButton.getSelection();
+                    }
+                });
+            }else{
+                if (!allowOverrideRank){
+                    activateRankButton.setEnabled(false);
+                }
+            }
+
+
             final Button sortNamedAreaByVocabularyOrder = new Button(child, SWT.CHECK);
-            isSortByVocabularyOrder = PreferencesUtil.isSortNamedAreaByOrderInVocabulary();
-            sortNamedAreaByVocabularyOrder.setText("Sort Areas by Order in Vocabulary");
+            sortNamedAreaByVocabularyOrder.setText(Messages.ChecklistEditorGeneralPreference_sort_areas);
             sortNamedAreaByVocabularyOrder.setSelection(isSortByVocabularyOrder);
             sortNamedAreaByVocabularyOrder.addSelectionListener(new SelectionAdapter(){
                 @Override
@@ -177,6 +151,139 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage {
                  }
             });
 
+            if (isAdminPreference){
+                Button allowOverrideOrderAreasButton = createAllowOverrideButton(child);
+                allowOverrideOrderAreasButton.setSelection(allowOverrideOrderAreas);
+
+                allowOverrideOrderAreasButton.addSelectionListener(new SelectionAdapter(){
+                    @Override
+                    public void widgetSelected(SelectionEvent e) {
+                        allowOverrideOrderAreas = allowOverrideOrderAreasButton.getSelection();
+                    }
+                });
+            }else{
+                if (!allowOverrideOrderAreas){
+                    sortNamedAreaByVocabularyOrder.setEnabled(false);
+                }
+            }
+
+            separator= new Label(child, SWT.HORIZONTAL | SWT.SEPARATOR);
+            separator.setLayoutData(sepGrid);
+
+//            final CLabel label = new CLabel(child, SWT.NULL);
+//            label.setText(Messages.ChecklistEditorGeneralPreference_open_wizard);
+//            label.setLayoutData(textGrid);
+//
+//
+//            final CommandHandlerButton button_openSelectAreas = new CommandHandlerButton(child, SWT.PUSH,
+//                    commandHandlerString);
+//
+//            button_openSelectAreas.setText(Messages.ChecklistEditorGeneralPreference_open_distribution_selection);
+//
+//            if (isAdminPreference){
+//                createAllowOverrideButton(child);
+//            }
+
+
+            final CLabel description = new CLabel(child, SWT.NULL);
+            description.setText(Messages.ChecklistEditorGeneralPreference_Configure_display_of_Areas);
+            description.setLayoutData(textGrid);
+
+            GridData gridData = new GridData();
+            gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
+            //gridData.horizontalIndent = 5;
+
+
+            areaDisplaySelectionCombo = new Combo(child, SWT.BORDER| SWT.READ_ONLY);
+            areaDisplaySelectionCombo.setLayoutData(gridData);
+
+            for(TermDisplayEnum display: TermDisplayEnum.values()){
+                areaDisplaySelectionCombo.add(display.getLabel());
+            }
+            int index = 0;
+            if (PreferencesUtil.getStringValue(IPreferenceKeys.CHECKLIST_AREA_DISPLAY) != null){
+                TermDisplayEnum areaDisplay = TermDisplayEnum.valueOf(displayArea);
+                for (String itemLabel : areaDisplaySelectionCombo.getItems()){
+                    if (itemLabel.equalsIgnoreCase(areaDisplay.getLabel())){
+                        areaDisplaySelectionCombo.select(index);
+                        break;
+                    }
+                    index++;
+                }
+            }
+            areaDisplaySelectionCombo.addSelectionListener(this);
+
+            if (isAdminPreference){
+                Button allowOverrideOrderAreaDisplayButton = createAllowOverrideButton(child);
+                allowOverrideOrderAreaDisplayButton.setSelection(allowOverrideAreaDisplay);
+
+                allowOverrideOrderAreaDisplayButton.addSelectionListener(new SelectionAdapter(){
+                    @Override
+                    public void widgetSelected(SelectionEvent e) {
+                        allowOverrideAreaDisplay = allowOverrideOrderAreaDisplayButton.getSelection();
+                    }
+                });
+            }else{
+                if (!allowOverrideAreaDisplay){
+                    areaDisplaySelectionCombo.setEnabled(false);
+                }
+            }
+
+            final CLabel descriptionStatus = new CLabel(child, SWT.NULL);
+            descriptionStatus.setText(Messages.ChecklistEditorGeneralPreference_Configure_display_of_Status);
+            descriptionStatus.setLayoutData(textGrid);
+
+
+
+            statusDisplaySelectionCombo = new Combo(child, SWT.BORDER| SWT.READ_ONLY);
+            statusDisplaySelectionCombo.setLayoutData(gridData);
+
+            for(TermDisplayEnum display: TermDisplayEnum.values()){
+                statusDisplaySelectionCombo.add(display.getLabel());
+            }
+            index = 0;
+            if (PreferencesUtil.displayStatusInChecklistEditor() != null){
+                TermDisplayEnum statusDisplay = TermDisplayEnum.valueOf(displayStatus);
+                for (String itemLabel : areaDisplaySelectionCombo.getItems()){
+                    if (itemLabel.equalsIgnoreCase(statusDisplay.getLabel())){
+                        statusDisplaySelectionCombo.select(index);
+                        break;
+                    }
+                    index++;
+                }
+            }
+
+            statusDisplaySelectionCombo.addSelectionListener(this);
+            if (isAdminPreference){
+                Button allowOverrideOrderStatusDisplayButton = createAllowOverrideButton(child);
+                allowOverrideOrderStatusDisplayButton.setSelection(allowOverrideStatusDisplay);
+
+                allowOverrideOrderStatusDisplayButton.addSelectionListener(new SelectionAdapter(){
+                    @Override
+                    public void widgetSelected(SelectionEvent e) {
+                        allowOverrideStatusDisplay = allowOverrideOrderStatusDisplayButton.getSelection();
+                    }
+                });
+            }else{
+                if (!allowOverrideStatusDisplay){
+                    statusDisplaySelectionCombo.setEnabled(false);
+                }
+            }
+
+            if (isAdminPreference){
+                final CLabel labelStatus = new CLabel(child, SWT.NULL);
+                labelStatus.setText(Messages.DistributionAdminPreferences_SELECT_STATUS);
+                labelStatus.setLayoutData(textGrid);
+
+                final CommandHandlerButton button_openStatusWizard = new CommandHandlerButton(child, SWT.PUSH,
+                        commandHandlerStringStatus); //$NON-NLS-1$
+
+                button_openStatusWizard.setText(Messages.Distribution_status_selection);
+
+            }
+
+           // PreferencesUtil.recursiveSetEnabled(child, CdmStore.isActive());
+
             if(isEditorActivated){
                 child.setEnabled(true);
             }else{
@@ -191,26 +298,143 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage {
         return composite;
     }
 
+
+
+    private Button createAllowOverrideButton(Composite activateComp) {
+        final Button allowOverrideCheckButton = new Button(activateComp, SWT.CHECK);
+        allowOverrideCheckButton.setText(Messages.ChecklistEditorGeneralPreference_allowOverride);
+        return allowOverrideCheckButton;
+    }
+
     @Override
     public boolean performOk() {
         if (isAllowOverride){
             PreferencesUtil.setBooleanValue(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE, isEditorActivated);
             PreferencesUtil.setSortNamedAreasByOrderInVocabulary(isSortByVocabularyOrder);
             PreferencesUtil.setShowRankInChecklistEditor(isShowRank);
-            PreferencesUtil.setShowSymbolInChecklistEditor(isShowSymbol);
-            String displayString;
-            if (isShowIdInVocabulary){
-                displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_TITLE;
-            }else if (isShowSymbol1){
-                displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_SYMBOL1;
-            }else if (isShowSymbol2){
-                displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_SYMBOL2;
-            }else{
-                displayString = IPreferenceKeys.CHECKLIST_AREA_DISPLAY_TITLE;
-            }
-            PreferencesUtil.setShowIdInVocabularyInChecklistEditor(displayString);
+            PreferencesUtil.setDisplayStatusInChecklistEditor(displayStatus);
+            PreferencesUtil.setAreaDisplayInChecklistEditor(displayArea);
+
+
         }
         return true;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void widgetSelected(SelectionEvent e) {
+        if (e.getSource().equals(statusDisplaySelectionCombo)){
+            String text = statusDisplaySelectionCombo.getText();
+            for (TermDisplayEnum display: TermDisplayEnum.values()){
+                if (display.getLabel().equals(text)){
+                    displayStatus = display.getKey();
+                    break;
+                }
+            }
+        }
+        if (e.getSource().equals(areaDisplaySelectionCombo)){
+            String text = areaDisplaySelectionCombo.getText();
+            for (TermDisplayEnum display: TermDisplayEnum.values()){
+                if (display.getLabel().equals(text)){
+                    displayArea = display.getKey();
+                    break;
+                }
+            }
+        }
+
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void widgetDefaultSelected(SelectionEvent e) {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public void init() {
+        isAdminPreference = false;
+        setPreferenceStore(PreferencesUtil.getPreferenceStore());
+        distributionEditorPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
+
+
+        if (distributionEditorPref != null){
+            isAllowOverride = distributionEditorPref.isAllowOverride();
+            if (isAllowOverride){
+                isEditorActivated = PreferencesUtil.getBooleanValue(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE);
+            }else{
+                isEditorActivated = Boolean.valueOf(distributionEditorPref.getValue());
+            }
+        }else{
+            isEditorActivated = PreferencesUtil.getBooleanValue(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE);
+            isAllowOverride = true;
+        }
+        CdmPreference prefStatus = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionStatus);
+
+        allowOverrideStatus = prefStatus != null?prefStatus.isAllowOverride():false;
+
+        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.DisplayOfAreasInDistributionEditor);
+        if (pref != null){
+            this.allowOverrideAreaDisplay = pref.isAllowOverride();
+            if (allowOverrideAreaDisplay){
+                displayArea = PreferencesUtil.getStringValue(IPreferenceKeys.CHECKLIST_AREA_DISPLAY);
+            }else{
+                displayArea = pref.getValue();
+            }
+        }else{
+            displayArea = PreferencesUtil.getStringValue(IPreferenceKeys.CHECKLIST_AREA_DISPLAY);
+            this.allowOverrideAreaDisplay = true;
+        }
+
+        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.DisplayOfStatus);
+        if (pref != null){
+            this.allowOverrideStatusDisplay = pref.isAllowOverride();
+            if (allowOverrideStatusDisplay){
+                displayStatus = PreferencesUtil.displayStatusInChecklistEditor();
+            }else{
+                this.displayStatus = pref.getValue();
+            }
+        }else{
+            displayStatus = PreferencesUtil.displayStatusInChecklistEditor();
+            this.allowOverrideStatusDisplay = true;
+        }
+
+        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.AreasSortedByIdInVocabulary);
+        if (pref != null){
+
+            this.allowOverrideOrderAreas = pref.isAllowOverride();
+            if (allowOverrideOrderAreas){
+                isSortByVocabularyOrder = PreferencesUtil.isSortNamedAreaByOrderInVocabulary();
+            }else{
+                this.isSortByVocabularyOrder = Boolean.valueOf(pref.getValue().toString());
+            }
+        }else{
+            isSortByVocabularyOrder = PreferencesUtil.isSortNamedAreaByOrderInVocabulary();
+            this.allowOverrideOrderAreas = true;
+        }
+
+        pref = PreferencesUtil.getPreferenceFromDB(EditorPreferencePredicate.ShowRankInDistributionEditor);
+        if (pref != null){
+
+            this.allowOverrideRank = pref.isAllowOverride();
+            if (allowOverrideRank){
+                isShowRank = PreferencesUtil.isShowRankInChecklistEditor();
+            }else{
+                this.isShowRank = Boolean.valueOf(pref.getValue().toString());
+            }
+        }else{
+            isShowRank = PreferencesUtil.isShowRankInChecklistEditor();
+            this.allowOverrideRank = true;
+        }
+
+
+
+        commandHandlerString = "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler";
+        commandHandlerStringStatus = "eu.etaxonomy.taxeditor.store.open.OpenDistributionStatusWizardHandler";
+
+    }
 }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/EditorPreferencePredicate.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/EditorPreferencePredicate.java
new file mode 100755
index 000000000..81c7e8c4f
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/EditorPreferencePredicate.java
@@ -0,0 +1,150 @@
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.preference;
+
+import java.util.Set;
+import java.util.UUID;
+
+import eu.etaxonomy.cdm.model.common.EnumeratedTermVoc;
+import eu.etaxonomy.cdm.model.common.IEnumTerm;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.metadata.IPreferencePredicate;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+
+/**
+ * @author k.luther
+ * @since 19.11.2018
+ *
+ */
+public enum EditorPreferencePredicate implements IEnumTerm<EditorPreferencePredicate>, IPreferencePredicate {
+
+
+
+    TaxonNodeOrder(UUID.fromString("ce06bd8e-4371-4ee5-8f57-cf23930cfd12"), "Taxon node order", "model.taxon.TNO", NavigatorOrderEnum.RankAndNameOrder),  //default alphabet + rank
+    NameDetailsView(UUID.fromString("3c4ec5f5-feb5-44a8-8533-c3c3484a6869"), "NameDetailsView", "model.editor.NDV", null),
+    IsRedList(UUID.fromString("aaf79c57-b2a9-48a6-b037-fc1b4a75a6e9"), "isRedList", "model.editor.RL", Boolean.FALSE),
+    DeterminationOnlyForFieldUnits(UUID.fromString("91b9224b-6610-4cf1-b3da-d60d6f9d59b1"), "DeterminationOnlyForFieldUnit", "model.editor.DOFU", Boolean.FALSE),
+
+    //taxeditor UI
+    ShowMediaView(UUID.fromString("ba7ba1bb-47e3-4b68-bc44-c5ac45775db4"), "Show Media View", "views.showMediaView", Boolean.TRUE),
+    ShowTaxonNodeWizard(UUID.fromString("af06fbec-635b-4676-8b60-0b98aefda6aa"), "Show TaxonNode Wizard", "views.showTaxonNodeWizard", Boolean.TRUE),
+    DisableMultiClassification(UUID.fromString("abdf7e40-afe6-4131-9af3-c6b6779ee6be"), "Disable Multi Classification Functionality", "menu.disableMultiClassification", Boolean.FALSE),
+    ShowChecklistPerspective(UUID.fromString("6058762b-893c-4330-bfe7-45d5717d02b2"), "Show Checklist Perspective as Default", "perspective.checklist", Boolean.FALSE),
+
+
+    //sources
+    ShowIdInSource(UUID.fromString("de291d1b-d89e-42ee-a7b5-15f306f50785"), "Source Details: Show ID in Source", "sourceDetails.IdInSource", Boolean.TRUE),
+    //I did rename this "Name"-> "Namespace" (later we should adapt the modelKey similarly
+    ShowNamespaceInSource(UUID.fromString("f2e881bb-03a1-4bf9-aff1-7bfd4d355a7c"), "Source Details: Show Namespace in Source", "sourceDetails.NameInSource", Boolean.TRUE),
+
+    //name details view
+    SimpleDetailsViewActivated(UUID.fromString("78666fde-9ee5-4c09-923b-be98604aace6"), "Name Details: Activated", "editor.nameDetails.activated", Boolean.FALSE),
+    ShowTaxon(UUID.fromString("0853e47a-68a8-49af-94d6-505a0479cb28"), "Name Details: Show Taxon", "editor.nameDetails.taxon", Boolean.TRUE),
+    ShowLSID(UUID.fromString("fa26eba7-43ed-4498-83a5-8f306a3ef6b3"), "Name Details: Show LSID", "editor.nameDetails.LSID", Boolean.TRUE),
+    ShowNomenclaturalCode(UUID.fromString("b54c7670-a4eb-4d41-b847-2c1a48efdd25"), "Name Details: Show Nomenclatural Code", "editor.nameDetails.NC", Boolean.TRUE),
+    ShowNameCache(UUID.fromString("d2e74b5b-90ca-4f5a-8979-d3c065512d63"), "Name Details: Show Namecache", "editor.nameDetails.nameCache", Boolean.TRUE),
+    ShowNameEpithets(UUID.fromString("816b7edd-0e1e-4277-9931-f73f1970dfe2"), "Name Details: Show Name Epithets", "editor.nameDetails.NE", Boolean.TRUE),
+    ShowAppendedPhrase(UUID.fromString("ca0b3d02-09f0-458f-af88-9c9d281f029d"), "Name Details: Show Appended Phrase", "editor.nameDetails.AP", Boolean.TRUE),
+    ShowRankInNameDetails(UUID.fromString("b1181426-e87a-4cd2-80bb-40224182efda"), "Name Details: Show Rank", "editor.nameDetails.rank", Boolean.TRUE),
+    ShowAuthorship(UUID.fromString("ce6e1a79-f0c3-4542-a93c-2dbd0023220e"), "Name Details: Show Authorship", "editor.nameDetails.AS", Boolean.TRUE),
+    ShowAuthorshipCache(UUID.fromString("dbc95c3c-b984-406c-b060-67bde64bb968"), "Name Details: Show AuthorshipCache", "editor.nameDetails.ASC", Boolean.TRUE),
+    ShowNomenclaturalReference(UUID.fromString("5b318525-8830-4dbd-8f31-df93bbc69800"), "Name Details: Show Nomenclatural Reference", "editor.nameDetails.NR", Boolean.TRUE),
+    ShowNomenclaturalStatus(UUID.fromString("075eba36-90fc-42a2-8e2d-98a61ee88205"), "Name Details: Show Nomenclatural Status", "editor.nameDetails.NS", Boolean.TRUE),
+    ShowProtologue(UUID.fromString("fd1105cf-5c98-4325-9db3-117907dac448"), "Name Details: Show Protologue", "editor.nameDetails.SP", Boolean.TRUE),
+    ShowTypeDesignation(UUID.fromString("dc79a014-5307-457e-9e92-7353a47a4df6"), "Name Details: Show Typedesignation", "editor.nameDetails.TD", Boolean.TRUE),
+    ShowNameRelations(UUID.fromString("7173817e-c15f-4618-8dea-2035b84f7757"), "Name Details: Show Namerelationships", "editor.nameDetails.NRS", Boolean.TRUE),
+    ShowHybrid(UUID.fromString("f58a4e82-8162-4d2e-905d-466d40069df8"), "Name Details: Show Hybrid Section", "editor.nameDetails.hybrids", Boolean.TRUE),
+
+    //distribution editor
+    DistributionEditorActivated(UUID.fromString("733e9bce-4394-4fae-97d3-1b7dfc48ee3c"), "Distribution Editor Is activated", "distribution.editor.activated",  Boolean.TRUE),
+    AreasSortedByIdInVocabulary(UUID.fromString("513d7de9-fec4-432c-b4dd-75f9f6e74ad0"), "Distribution Editor: Areas sorted by ID in Vocabulary", "distribution.editor.areas.sortedByIDInVoc", Boolean.FALSE),  //unsure about correct default value, please decide
+    //the following 4 should be replaced by termLabelPreferenceEnum , enum should contain label, abbrevLabel, idInVoc, symbol1, symbol2, ...
+    DisplayOfStatus(UUID.fromString("1ee6b945-0a81-4f05-b867-f9d105882249"), "Distribution Editor: Show Symbol for Status", "distribution.editor.status.showSymbol", TermDisplayEnum.Title),
+    DisplayOfAreasInDistributionEditor(UUID.fromString("7b671bba-1b7f-4cb9-bbac-c914518a4bf8"), "Distribution Editor: Display of Areas", "distribution.editor.areas.displayAreas",  TermDisplayEnum.Title),
+
+
+    ShowRankInDistributionEditor(UUID.fromString("fb13b4f2-2d82-4fd3-8abe-2b955a695245"), "Distribution Editor: Show Rank", "distribution.editor.showRank", Boolean.FALSE),
+
+
+    //import
+    ShowImportExportMenu(UUID.fromString("92839352-beee-4d66-b078-77fd4f500ab4"), "Show Import Export Menu Items", "io.showMenu", Boolean.TRUE),
+    AbcdImportConfig(UUID.fromString("65380375-d041-458c-8275-c36cdc1f34df"), "AbcdImportConfig", "io.ABCD.config", null),  //default defined in TaxEditor
+    BioCaseProvider(UUID.fromString("bd22c85c-f4e8-4771-ae7b-5750868762c4"), "BioCaseProvider", "io.ABCD.providerList", null),  //default defined in TaxEditor
+
+    //specimen
+    ShowSpecimen(UUID.fromString("a925f874-b953-429f-9db7-f28e3beb576f"), "Show Specimen", "showSpecimen", Boolean.TRUE),
+    ShowCollectingAreasInGeneralSection(UUID.fromString("578a1195-64ce-4dfb-9be9-6f2823288678"), "Show Collecting Area in General Section", "specimen.detail.showCollectingAreaInGeneralSection", Boolean.FALSE),
+    ShowTaxonAssociations(UUID.fromString("849c24f9-b62b-4f70-b0a0-1b02182b3433"), "Show Taxon Associations", "specimen.detail.showTaxonAssociations", Boolean.FALSE),
+    ShowLifeForm(UUID.fromString("85870e7d-a6a3-4c9b-97d6-eb27e6516860"), "Show Life Form", "showLifeForm", Boolean.FALSE),
+
+
+    DefaultBehaviourForPublishFlag(UUID.fromString("24e636fc-ef3b-4a2c-8c9e-018143e66949"), "Default behaviour for publish flag", "defaultBehaviourForPublishFlag", PublishEnum.InheritFromParent)
+    ;
+
+
+
+    private static EnumeratedTermVoc<EditorPreferencePredicate> delegateVoc;
+    private IEnumTerm<EditorPreferencePredicate> delegateVocTerm;
+
+    static {
+        delegateVoc = EnumeratedTermVoc.getVoc(EditorPreferencePredicate.class);
+    }
+    private Object defaultValue;
+
+
+    private EditorPreferencePredicate(UUID uuid, String messageString, String key, Object defaultValue){
+       this(uuid, messageString, key, null, defaultValue);
+    }
+
+    private EditorPreferencePredicate(UUID uuid, String messageString, String modelKey, PreferencePredicate parent, Object defaultValue){
+        delegateVocTerm = EnumeratedTermVoc.addTerm(getClass(), this, uuid, messageString, modelKey, parent);
+        this.defaultValue = defaultValue;
+
+    }
+
+    @Override
+    public Object getDefaultValue() {return defaultValue;}
+
+
+    @Override
+    public String getKey() {return delegateVocTerm.getKey();}
+
+
+    @Override
+    public String getMessage() {return delegateVocTerm.getMessage();}
+
+
+    @Override
+    public String getMessage(Language lang) {return delegateVocTerm.getMessage(lang);}
+
+
+    @Override
+    public UUID getUuid() {return delegateVocTerm.getUuid();}
+
+
+    @Override
+    public EditorPreferencePredicate getKindOf() {return delegateVocTerm.getKindOf();}
+
+    @Override
+    public Set<EditorPreferencePredicate> getGeneralizationOf() {return delegateVocTerm.getGeneralizationOf();}
+
+
+    @Override
+    public boolean isKindOf(EditorPreferencePredicate ancestor) {return delegateVocTerm.isKindOf(ancestor);}
+
+
+    @Override
+    public Set<EditorPreferencePredicate> getGeneralizationOf(boolean recursive) {return delegateVocTerm.getGeneralizationOf(recursive);}
+
+
+
+
+
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java
index f0254955c..930eaf0c8 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java
@@ -95,9 +95,9 @@ public interface IPreferenceKeys {
 	/** Constant <code>SORT_RANKS_HIERARCHICHALLY="eu.etaxonomy.taxeditor.menus.sortRanksH"{trunked}</code> */
 	public static final String SORT_RANKS_HIERARCHICHALLY = "eu.etaxonomy.taxeditor.menus.sortRanksHierarchichally";
 	/** Constant <code>SORT_NODES_NATURALL="eu.etaxonomy.taxeditor.menus.sortNodesN"{trunked}</code> */
-	public static final String SORT_NODES_NATURALLY = "eu.etaxonomy.taxeditor.menus.sortNodesNaturally";
-	/** Constant <code>SORT_NODES_NATURALL="eu.etaxonomy.taxeditor.menus.sortNodesN"{trunked}</code> */
-	public static final String SORT_NODES_ALPHABETICALLY = "eu.etaxonomy.taxeditor.menus.sortNodesAlphabetically";
+	public static final String SORT_NODES = "eu.etaxonomy.taxeditor.menus.sortNodes";
+//	/** Constant <code>SORT_NODES_NATURALL="eu.etaxonomy.taxeditor.menus.sortNodesN"{trunked}</code> */
+//	public static final String SORT_NODES_ALPHABETICALLY = "eu.etaxonomy.taxeditor.menus.sortNodesAlphabetically";
 	/** Constant <code>RESTORE_NAVIGATOR_STATE="eu.etaxonomy.taxeditor.taxonnavigator.restoreState"{trunked}</code> */
 	public static final String RESTORE_NAVIGATOR_STATE = "eu.etaxonomy.taxeditor.taxonnavigator.restoreState";
 	/**
@@ -152,7 +152,7 @@ public interface IPreferenceKeys {
     public static final String CHECKLIST_AREA_DISPLAY_TITLE = "Title";
     public static final String CHECKLIST_AREA_DISPLAY_SYMBOL1 = "Symbol1";
     public static final String CHECKLIST_AREA_DISPLAY_SYMBOL2 = "Symbol2";
-    public static final String CHECKLIST_SYMBOL = "eu.etaxonomy.taxeditor.checklist.checklistSymbol";
+    public static final String CHECKLIST_STATUS_DISPLAY = "eu.etaxonomy.taxeditor.checklist.checklistDisplayStatus";
     public static final String CHECKLIST_SHOW_RANK = "eu.etaxonomy.taxeditor.checklist.checklistShowRank";
 
     public static final String DISTRIBUTION_AREA_PREFRENCES_ACTIVE_OVERRIDE = "eu.etaxonomy.taxeditor.checklist.distributionAreaPreferencesActiveOverride";
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/LanguageRepresentationPreferencePage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/LanguageRepresentationPreferencePage.java
index 0bcbbecfc..045324ecf 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/LanguageRepresentationPreferencePage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/LanguageRepresentationPreferencePage.java
@@ -14,7 +14,6 @@ import java.util.List;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.layout.RowLayout;
 import org.eclipse.swt.widgets.Button;
@@ -37,12 +36,12 @@ public class LanguageRepresentationPreferencePage extends CdmPreferencePage{
 	private boolean isMultilanguageTextEditingCapability;
 	private Language globalLanguage;
 
-	private Composite createComposite(Composite parent){
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
-		composite.setLayout(new RowLayout(SWT.HORIZONTAL));
-		return composite;
-	}
+//	private Composite createComposite(Composite parent){
+//		Composite composite = new Composite(parent, SWT.NULL);
+//		composite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
+//		composite.setLayout(new RowLayout(SWT.HORIZONTAL));
+//		return composite;
+//	}
 
 	@Override
 	protected Control createContents(Composite parent) {
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NavigatorOrderEnum.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NavigatorOrderEnum.java
new file mode 100755
index 000000000..6611d0348
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NavigatorOrderEnum.java
@@ -0,0 +1,37 @@
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.preference;
+
+/**
+ * @author k.luther
+ * @since 19.11.2018
+ *
+ */
+public enum NavigatorOrderEnum {
+    AlphabeticalOrder("AlphabeticalOrder", "Alphabetical Order"),
+    NaturalOrder("NaturalOrder", "Natural Order"),
+    RankAndNameOrder("RankAndNameOrder", "Rank and Name Order");
+
+
+    String label;
+    String key;
+
+    private NavigatorOrderEnum(String key, String label){
+        this.label = label;
+        this.key = key;
+    }
+
+    public String getLabel(){
+        return label;
+    }
+
+    public String getKey(){
+        return key;
+    }
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java
index a9a33e31f..7e64d1905 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java
@@ -4,8 +4,11 @@ import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
@@ -13,12 +16,11 @@ import org.eclipse.swt.widgets.Label;
 import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
 
-public class OrderPreferences extends CdmPreferencePage {
+public class OrderPreferences extends CdmPreferencePage implements SelectionListener{
 
 
-	    boolean isNaturalOrderActivated;
-	    boolean isAlphabeticalOrderActivated;
-	    boolean isRankAndNameOrderActivated;
+        NavigatorOrderEnum orderActivated;
+        private Combo orderSelectionCombo;
 	    boolean isRestoreTaxonNavigator;
 	    boolean isSelectionChanged = false;
 	    boolean isStrictlyAlphabeticallyOrdered;
@@ -52,79 +54,33 @@ public class OrderPreferences extends CdmPreferencePage {
 	        Label label = new Label(composite, SWT.NONE);
 	        label.setText("Sorting");
 
+	        GridData gridData = new GridData();
+            gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
+            gridData.horizontalIndent = 5;
 
-	        isNaturalOrderActivated = PreferencesUtil.getSortNodesNaturally();
-	        final Button activateNaturalOrderCheckButton = new Button(composite, SWT.RADIO);
-	        activateNaturalOrderCheckButton.setText("Natural order");
-	        activateNaturalOrderCheckButton.setSelection(isNaturalOrderActivated);
-
-	        isRankAndNameOrderActivated = !PreferencesUtil.getSortNodesStrictlyAlphabetically() && !PreferencesUtil.getSortNodesNaturally();
-	        final Button activateRankAndNameOrderActivatedCheckButton = new Button(composite, SWT.RADIO);
-	        activateRankAndNameOrderActivatedCheckButton.setText("Rank and alphabetical Order");
-	        activateRankAndNameOrderActivatedCheckButton.setSelection(isRankAndNameOrderActivated);
-
-	        isAlphabeticalOrderActivated = PreferencesUtil.getSortNodesStrictlyAlphabetically();
-	        final Button activateAlphabeticallyOrderedCheckButton = new Button(composite, SWT.RADIO);
-	        activateAlphabeticallyOrderedCheckButton.setText("Alphabetical order");
-	        activateAlphabeticallyOrderedCheckButton.setSelection(isAlphabeticalOrderActivated);
-
-	        activateNaturalOrderCheckButton.addSelectionListener(new SelectionAdapter(){
-	            @Override
-	            public void widgetSelected(SelectionEvent e) {
-	            	if(isNaturalOrderActivated != activateNaturalOrderCheckButton.getSelection()) {
-	                	isNaturalOrderActivated = activateNaturalOrderCheckButton.getSelection();
-	                	if (isAlphabeticalOrderActivated && isNaturalOrderActivated){
-	                		isAlphabeticalOrderActivated = false;
-
-	            		}
-	            		if (isRankAndNameOrderActivated && isNaturalOrderActivated){
-	            			isRankAndNameOrderActivated = false;
-	            		}
-
-                        isSelectionChanged = true;
-                    }else{
-                        isSelectionChanged = false;
-                    }
+	        orderSelectionCombo = new Combo(composite, SWT.BORDER| SWT.READ_ONLY);
+	        orderSelectionCombo.setLayoutData(gridData);
 
-	            }
-	        });
-	        activateAlphabeticallyOrderedCheckButton.addSelectionListener(new SelectionAdapter(){
-	            @Override
-	            public void widgetSelected(SelectionEvent e) {
-	            	if(isAlphabeticalOrderActivated != activateAlphabeticallyOrderedCheckButton.getSelection()) {
-	            		isAlphabeticalOrderActivated = activateAlphabeticallyOrderedCheckButton.getSelection();
-	            		if (isNaturalOrderActivated && isAlphabeticalOrderActivated){
-	            			isNaturalOrderActivated = false;
-
-	            		}
-	            		if (isRankAndNameOrderActivated && isAlphabeticalOrderActivated){
-	            			isRankAndNameOrderActivated = false;
-	            		}
-
-                        isSelectionChanged = true;
-                    }else{
-                        isSelectionChanged = false;
-                    }
+            for(NavigatorOrderEnum display: NavigatorOrderEnum.values()){
+                orderSelectionCombo.add(display.getLabel());
+            }
+
+            int index = 0;
+            if (PreferencesUtil.getStringValue(IPreferenceKeys.SORT_NODES) != null){
+                this.orderActivated = NavigatorOrderEnum.valueOf(PreferencesUtil.getStringValue(IPreferenceKeys.SORT_NODES));
 
-	            }
-	        });
-
-	        activateRankAndNameOrderActivatedCheckButton.addSelectionListener(new SelectionAdapter(){
-	            @Override
-	            public void widgetSelected(SelectionEvent e) {
-	            	if(isRankAndNameOrderActivated != activateRankAndNameOrderActivatedCheckButton.getSelection()) {
-	            		isRankAndNameOrderActivated = activateRankAndNameOrderActivatedCheckButton.getSelection();
-	            		if (isAlphabeticalOrderActivated && isRankAndNameOrderActivated){
-	            			 isAlphabeticalOrderActivated = false;
-	            			 isNaturalOrderActivated = false;
-	            		}
-	            		isSelectionChanged = true;
-                    }else{
-                        isSelectionChanged = false;
+                for (String itemLabel : orderSelectionCombo.getItems()){
+                    if (itemLabel.equalsIgnoreCase(orderActivated.getLabel())){
+                        orderSelectionCombo.select(index);
+                        break;
                     }
+                    index++;
+                }
+            }
+
+            // TODO remember last selection
+            orderSelectionCombo.addSelectionListener(this);
 
-	            }
-	        });
 
 
 
@@ -140,8 +96,8 @@ public class OrderPreferences extends CdmPreferencePage {
 		@Override
 		public boolean performOk() {
 	       if(isSelectionChanged){
-	           PreferencesUtil.setSortNodesStrictlyAlphabetically(isAlphabeticalOrderActivated);
-	           PreferencesUtil.setSortNodesNaturally(isNaturalOrderActivated);
+	           PreferencesUtil.setSortNodes(this.orderActivated);
+
 	           PreferencesUtil.setStoreNavigatorState(isRestoreTaxonNavigator);
 	    	  MessageDialog.openInformation(getShell(), null, Messages.OrderPreferencePage_PleaseReopenNavigator);
 	    	  isSelectionChanged = false;
@@ -151,4 +107,24 @@ public class OrderPreferences extends CdmPreferencePage {
 		}
 
 
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        public void widgetSelected(SelectionEvent e) {
+            // TODO Auto-generated method stub
+
+        }
+
+
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        public void widgetDefaultSelected(SelectionEvent e) {
+            // TODO Auto-generated method stub
+
+        }
+
+
 }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
index d6a89171d..8019b4449 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
@@ -55,6 +55,7 @@ import eu.etaxonomy.cdm.model.common.TermType;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
+import eu.etaxonomy.cdm.model.metadata.IPreferencePredicate;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
@@ -438,7 +439,7 @@ public class PreferencesUtil implements IPreferenceKeys {
         if (getBooleanValue(OVERRIDE_NAME_DETAILS) && getBooleanValue(ALLOW_OVERRIDE_NAME_DETAILS)) {
             return getBooleanValue(SHOW_SIMPLE_NAME_DETAILS_SECTION);
         } else{
-            CdmPreference pref = getPreferenceFromDB(PreferencePredicate.NameDetailsView);
+            CdmPreference pref = getPreferenceFromDB(EditorPreferencePredicate.NameDetailsView);
 
             return pref!=null?Boolean.valueOf(pref.getValue()):false;
         }
@@ -446,7 +447,7 @@ public class PreferencesUtil implements IPreferenceKeys {
 
 
 
-    public static CdmPreference getPreferenceFromDB(PreferencePredicate predicate){
+    public static CdmPreference getPreferenceFromDB(IPreferencePredicate predicate){
         ICdmRepository controller;
         CdmPreference pref = null;
 
@@ -766,7 +767,7 @@ public class PreferencesUtil implements IPreferenceKeys {
 		//Distribution Editor:
 		getPreferenceStore().setDefault(createPreferenceString(DISTRIBUTION_AREA_PREFRENCES_ACTIVE), true);
 		getPreferenceStore().setDefault(createPreferenceString(CHECKLIST_AREA_DISPLAY), CHECKLIST_AREA_DISPLAY_TITLE);
-		getPreferenceStore().setDefault(createPreferenceString(CHECKLIST_SYMBOL), false);
+		getPreferenceStore().setDefault(createPreferenceString(CHECKLIST_STATUS_DISPLAY), false);
 
 
 		//Name Details
@@ -784,8 +785,8 @@ public class PreferencesUtil implements IPreferenceKeys {
 		getPreferenceStore().setDefault(createPreferenceString(SHOW_NAME_DETAILS_SECTION_RANK), true);
 		getPreferenceStore().setDefault(createPreferenceString(SHOW_NAME_DETAILS_SECTION_TYPE_DESIGNATION), true);
 		//Navigator preferences
-		getPreferenceStore().setDefault(createPreferenceString(SORT_NODES_NATURALLY), false);
-		getPreferenceStore().setDefault(createPreferenceString(SORT_NODES_ALPHABETICALLY), false);
+		getPreferenceStore().setDefault(createPreferenceString(SORT_NODES), NavigatorOrderEnum.RankAndNameOrder.getKey());
+
 		getPreferenceStore().setDefault(createPreferenceString(SORT_TAXA_BY_RANK_AND_NAME), true);
 		//override db preferences
 		getPreferenceStore().setDefault(createPreferenceString(ABCD_IMPORT_OVERRIDE), false);
@@ -1159,53 +1160,51 @@ public class PreferencesUtil implements IPreferenceKeys {
         }
     }
 
+
+
+
     /**
-	 * <p>
-	 * getSortRanksNaturally
-	 * </p>
-    	 *
-    	 * @return a boolean.
-	 */
-	public static boolean getSortNodesNaturally() {
-		return getBooleanValue(SORT_NODES_NATURALLY);
-	}
+     * @param orderActivated
+     */
+    public static void setSortNodes(NavigatorOrderEnum nodesOrder) {
+        setStringValue(SORT_NODES, nodesOrder.key);
 
-	/**
-	 * <p>
-	 * setSortRanksNaturally
-	 * </p>
-	 *
-	 * @param selection
-	 *            a boolean.
-	 */
-	public static void setSortNodesNaturally(boolean selection) {
-		setBooleanValue(SORT_NODES_NATURALLY, selection);
-	}
+    }
 
+    /**
+     * @param orderActivated
+     */
+    public static NavigatorOrderEnum getSortNodes() {
+        return NavigatorOrderEnum.valueOf(getStringValue(SORT_NODES));
 
-	/**
-	 * <p>
-	 * getSortRanksNaturally
-	 * </p>
-	 *
-	 * @return a boolean.
-	 */
-	public static boolean getSortNodesStrictlyAlphabetically() {
-		return getBooleanValue(SORT_NODES_ALPHABETICALLY);
-	}
+    }
 
-	/**
-	 * <p>
-	 * setSortRanksNaturally
-	 * </p>
-	 *
-	 * @param selection
-	 *            a boolean.
-	 */
-	public static void setSortNodesStrictlyAlphabetically(boolean selection) {
-		setBooleanValue(SORT_NODES_ALPHABETICALLY, selection);
-	}
+    /**
+     * @param orderActivated
+     */
+    public static boolean isNodesSortedNaturally() {
+        NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(SORT_NODES));
+        return value.equals(NavigatorOrderEnum.NaturalOrder);
+
+    }
+
+    /**
+     * @param orderActivated
+     */
+    public static boolean isNodesSortedByName() {
+        NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(SORT_NODES));
+        return value.equals(NavigatorOrderEnum.AlphabeticalOrder);
+
+    }
+
+    /**
+     * @param orderActivated
+     */
+    public static boolean isNodesSortedByNameAndRank() {
+        NavigatorOrderEnum value = NavigatorOrderEnum.valueOf(getStringValue(SORT_NODES));
+        return value.equals(NavigatorOrderEnum.RankAndNameOrder);
 
+    }
 	/**
 	 * <p>
 	 * setStoreNavigatorState
@@ -1247,7 +1246,7 @@ public class PreferencesUtil implements IPreferenceKeys {
      */
     public static boolean isShowIdInVocabularyInChecklistEditor() {
         String area_display = getStringValue(IPreferenceKeys.CHECKLIST_AREA_DISPLAY);
-        if (area_display.equals(CHECKLIST_AREA_DISPLAY_ID_IN_VOCABULARY)) {
+        if (area_display.equals(TermDisplayEnum.IdInVocabulary.getKey())) {
             return true;
         }else{
             return false;
@@ -1255,7 +1254,7 @@ public class PreferencesUtil implements IPreferenceKeys {
     }
     public static boolean isShowSymbol1InChecklistEditor() {
         String area_display = getStringValue(IPreferenceKeys.CHECKLIST_AREA_DISPLAY);
-        if (area_display.equals(CHECKLIST_AREA_DISPLAY_SYMBOL1)) {
+        if (area_display.equals(TermDisplayEnum.Symbol1.getKey())) {
             return true;
         }else{
             return false;
@@ -1263,24 +1262,24 @@ public class PreferencesUtil implements IPreferenceKeys {
      }
     public static boolean isShowSymbol2InChecklistEditor() {
         String area_display = getStringValue(IPreferenceKeys.CHECKLIST_AREA_DISPLAY);
-        if (area_display.equals(CHECKLIST_AREA_DISPLAY_SYMBOL2)) {
+        if (area_display.equals(TermDisplayEnum.Symbol2.getKey())) {
             return true;
         }else{
             return false;
         }
      }
-    public static void setShowIdInVocabularyInChecklistEditor(String selection) {
+    public static void setAreaDisplayInChecklistEditor(String selection) {
         setStringValue(CHECKLIST_AREA_DISPLAY, selection);
     }
 
     /**
      * @return
      */
-    public static boolean isShowSymbolInChecklistEditor() {
-       return getBooleanValue(IPreferenceKeys.CHECKLIST_SYMBOL);
+    public static String displayStatusInChecklistEditor() {
+       return getStringValue(IPreferenceKeys.CHECKLIST_STATUS_DISPLAY);
     }
-    public static void setShowSymbolInChecklistEditor(boolean selection) {
-        setBooleanValue(CHECKLIST_SYMBOL, selection);
+    public static void setDisplayStatusInChecklistEditor(String selection) {
+        setStringValue(CHECKLIST_STATUS_DISPLAY, selection);
     }
 
     /**
@@ -1455,7 +1454,7 @@ public class PreferencesUtil implements IPreferenceKeys {
      *            a {@link eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator}
      *            object.
      */
-    public static Abcd206ImportConfigurator getAbcdImportConfigurationPreference() {
+    public static Abcd206ImportConfigurator getDBAbcdImportConfigurationPreference() {
 
         Abcd206ImportConfigurator config = Abcd206ImportConfigurator.NewInstance(null,null);
         ICdmRepository controller;
@@ -1466,46 +1465,19 @@ public class PreferencesUtil implements IPreferenceKeys {
             return null;
         }
         preference = controller.getPreferenceService().find(key);
-        boolean allowOverride = true;
-        if (preference != null && !preference.isAllowOverride()){
-            allowOverride = false;
-        }
-        if (getBooleanValue(IPreferenceKeys.ABCD_IMPORT_OVERRIDE) && allowOverride){
-
-            config.setAddIndividualsAssociationsSuchAsSpecimenAndObservations(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ADD_INDIVIDUALS_ASSOCIATIONS_SUCH_AS_SPECIMEN_AND_OBSERVATIONS));
-
-            config.setAddMediaAsMediaSpecimen(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ADD_MEDIA_AS_MEDIASPECIMEN));
-
-            config.setAllowReuseOtherClassifications(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ALLOW_REUSE_OTHER_CLASSIFICATIONS));
-            config.setDeduplicateClassifications(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_CLASSIFICATIONS));
-            config.setDeduplicateReferences(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_REFERENCES));
-
-            config.setGetSiblings(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DO_SIBLINGS));
-            config.setIgnoreAuthorship(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_IGNORE_AUTHORSHIP));
-            config.setIgnoreImportOfExistingSpecimen(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_IGNORE_IMPORT_OF_EXISTING_SPECIMEN));
-            config.setMapUnitIdToAccessionNumber(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_ACCESSION_NUMBER));
-            config.setMapUnitIdToBarcode(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_BARCODE));
-            config.setMapUnitIdToCatalogNumber(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TOCATALOG_NUMBER));
-            config.setMoveNewTaxaToDefaultClassification(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MOVE_NEW_TAXA_TO_DEFAULT_CLASSIFICATION));
-            config.setOverwriteExistingSpecimens(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_OVERWRITE_EXISTING_SPECIMEN));
-            config.setReuseExistingDescriptiveGroups(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_DESCRIPTIVE_GROUPS));
-            config.setReuseExistingMetaData(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_META_DATA));
-            config.setReuseExistingTaxaWhenPossible(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_TAXA_WHEN_POSSIBLE));
-            config.setNomenclaturalCode(NomenclaturalCode.getByKey(getStringValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_NOMENCLATURAL_CODE)));
+        if (preference == null){
             return config;
-
-        }
-
-            if (preference == null){
-                return config;
-             } else{
+         } else{
              String configString = preference.getValue();
              String[] configArray = configString.split(";");
 
              for (String configItem: configArray){
                  String[] keyValue = configItem.split(":");
                  String keyString = keyValue[0];
-                 String valueString = keyValue[1];
+                 String valueString = null;
+                 if (keyValue.length>1){
+                      valueString = keyValue[1];
+                 }
                  if (keyString.equals("ignoreImportOfExistingSpecimen")){
                      config.setIgnoreImportOfExistingSpecimen(Boolean.valueOf(valueString));
                  }else if (keyString.equals("addIndividualsAssociationsSuchAsSpecimenAndObservations")){
@@ -1542,11 +1514,39 @@ public class PreferencesUtil implements IPreferenceKeys {
                      logger.debug("This key of the abcd configurator needs to be added to the transformer: " + keyString);
                  }
 
-            }
+             }
         }
         return config;
     }
 
+    public static Abcd206ImportConfigurator getLocalAbcdImportConfigurator(){
+       Abcd206ImportConfigurator config = Abcd206ImportConfigurator.NewInstance(null,null);
+
+        config.setAddIndividualsAssociationsSuchAsSpecimenAndObservations(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ADD_INDIVIDUALS_ASSOCIATIONS_SUCH_AS_SPECIMEN_AND_OBSERVATIONS));
+
+        config.setAddMediaAsMediaSpecimen(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ADD_MEDIA_AS_MEDIASPECIMEN));
+
+        config.setAllowReuseOtherClassifications(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_ALLOW_REUSE_OTHER_CLASSIFICATIONS));
+        config.setDeduplicateClassifications(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_CLASSIFICATIONS));
+        config.setDeduplicateReferences(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_REFERENCES));
+        config.setRemoveCountryFromLocalityText(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REMOVE_COUNTRY_FROM_LOCALITY_TEXT));
+        config.setGetSiblings(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_DO_SIBLINGS));
+        config.setIgnoreAuthorship(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_IGNORE_AUTHORSHIP));
+        config.setIgnoreImportOfExistingSpecimen(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_IGNORE_IMPORT_OF_EXISTING_SPECIMEN));
+        config.setMapUnitIdToAccessionNumber(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_ACCESSION_NUMBER));
+        config.setMapUnitIdToBarcode(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_BARCODE));
+        config.setMapUnitIdToCatalogNumber(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TOCATALOG_NUMBER));
+        config.setMoveNewTaxaToDefaultClassification(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_MOVE_NEW_TAXA_TO_DEFAULT_CLASSIFICATION));
+        config.setOverwriteExistingSpecimens(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_OVERWRITE_EXISTING_SPECIMEN));
+        config.setReuseExistingDescriptiveGroups(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_DESCRIPTIVE_GROUPS));
+        config.setReuseExistingMetaData(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_META_DATA));
+        config.setReuseExistingTaxaWhenPossible(getBooleanValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_TAXA_WHEN_POSSIBLE));
+        config.setNomenclaturalCode(NomenclaturalCode.getByKey(getStringValue(IPreferenceKeys.ABCD_IMPORT_CONFIGURATOR_NOMENCLATURAL_CODE)));
+
+        return config;
+
+    }
+
 
     public static void updateAbcdImportConfigurationPreference() {
 
@@ -1564,28 +1564,33 @@ public class PreferencesUtil implements IPreferenceKeys {
             allowOverride = false;
         }
         if (!getBooleanValue(IPreferenceKeys.ABCD_IMPORT_OVERRIDE) || !allowOverride){
+            resetToDBPreferenceAbcdCOnfigurator();
 
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_ADD_INDIVIDUALS_ASSOCIATIONS_SUCH_AS_SPECIMEN_AND_OBSERVATIONS, config.isAddIndividualsAssociationsSuchAsSpecimenAndObservations());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_ADD_MEDIA_AS_MEDIASPECIMEN, config.isAddMediaAsMediaSpecimen());
-
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_ALLOW_REUSE_OTHER_CLASSIFICATIONS, config.isAllowReuseOtherClassifications());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_CLASSIFICATIONS, config.isDeduplicateClassifications());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_REFERENCES, config.isDeduplicateReferences());
-
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_DO_SIBLINGS, config.isGetSiblings());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_IGNORE_AUTHORSHIP, config.isIgnoreAuthorship());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_IGNORE_IMPORT_OF_EXISTING_SPECIMEN, config.isIgnoreImportOfExistingSpecimen());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_ACCESSION_NUMBER, config.isMapUnitIdToAccessionNumber());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_BARCODE, config.isMapUnitIdToBarcode());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TOCATALOG_NUMBER, config.isMapUnitIdToCatalogNumber());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_MOVE_NEW_TAXA_TO_DEFAULT_CLASSIFICATION, config.isMoveNewTaxaToDefaultClassification());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_OVERWRITE_EXISTING_SPECIMEN, config.isOverwriteExistingSpecimens());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_DESCRIPTIVE_GROUPS, config.isReuseExistingDescriptiveGroups());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_META_DATA, config.isReuseExistingMetaData());
-            setBooleanValue(ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_TAXA_WHEN_POSSIBLE, config.isReuseExistingTaxaWhenPossible());
-            if (config.getNomenclaturalCode() != null){
-                setStringValue(ABCD_IMPORT_CONFIGURATOR_NOMENCLATURAL_CODE, config.getNomenclaturalCode().getKey());
-            }
+        }
+    }
+
+    public static void resetToDBPreferenceAbcdCOnfigurator(){
+        Abcd206ImportConfigurator config = getDBAbcdImportConfigurationPreference();
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_ADD_INDIVIDUALS_ASSOCIATIONS_SUCH_AS_SPECIMEN_AND_OBSERVATIONS, config.isAddIndividualsAssociationsSuchAsSpecimenAndObservations());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_ADD_MEDIA_AS_MEDIASPECIMEN, config.isAddMediaAsMediaSpecimen());
+
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_ALLOW_REUSE_OTHER_CLASSIFICATIONS, config.isAllowReuseOtherClassifications());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_CLASSIFICATIONS, config.isDeduplicateClassifications());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_DEDUPLICATE_REFERENCES, config.isDeduplicateReferences());
+
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_DO_SIBLINGS, config.isGetSiblings());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_IGNORE_AUTHORSHIP, config.isIgnoreAuthorship());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_IGNORE_IMPORT_OF_EXISTING_SPECIMEN, config.isIgnoreImportOfExistingSpecimen());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_ACCESSION_NUMBER, config.isMapUnitIdToAccessionNumber());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TO_BARCODE, config.isMapUnitIdToBarcode());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_MAP_UNIT_ID_TOCATALOG_NUMBER, config.isMapUnitIdToCatalogNumber());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_MOVE_NEW_TAXA_TO_DEFAULT_CLASSIFICATION, config.isMoveNewTaxaToDefaultClassification());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_OVERWRITE_EXISTING_SPECIMEN, config.isOverwriteExistingSpecimens());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_DESCRIPTIVE_GROUPS, config.isReuseExistingDescriptiveGroups());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_META_DATA, config.isReuseExistingMetaData());
+        setBooleanValue(ABCD_IMPORT_CONFIGURATOR_REUSE_EXISTING_TAXA_WHEN_POSSIBLE, config.isReuseExistingTaxaWhenPossible());
+        if (config.getNomenclaturalCode() != null){
+            setStringValue(ABCD_IMPORT_CONFIGURATOR_NOMENCLATURAL_CODE, config.getNomenclaturalCode().getKey());
         }
     }
 
@@ -2002,4 +2007,5 @@ public static void updateDBPreferences() {
 
 
 
+
 }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PublishEnum.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PublishEnum.java
new file mode 100755
index 000000000..300d3f367
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PublishEnum.java
@@ -0,0 +1,38 @@
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.preference;
+
+/**
+ * @author k.luther
+ * @since 19.11.2018
+ *
+ */
+public enum PublishEnum {
+
+    Publish("Publish", "Publish"),
+    NotPublish("NotPublish", "Not Publish"),
+    InheritFromParent("InheritFromParent", "Inherit from Parent");
+
+
+    String label;
+    String key;
+
+    private PublishEnum(String key, String label){
+        this.label = label;
+        this.key = key;
+    }
+
+    public String getLabel(){
+        return label;
+    }
+
+    public String getKey(){
+        return key;
+    }
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TermDisplayEnum.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TermDisplayEnum.java
new file mode 100755
index 000000000..bf8f3a2b7
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TermDisplayEnum.java
@@ -0,0 +1,38 @@
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.preference;
+
+/**
+ * @author k.luther
+ * @since 15.11.2018
+ *
+ */
+public enum TermDisplayEnum {
+
+    IdInVocabulary("IdInVocabulary", "Show IdInVocabulary"),
+    Symbol1("Symbol1", "Show Symbol1"),
+    Symbol2("Symbol2", "Show Symbol2"),
+    Title("Title", "Show Title");
+
+    String label;
+    String key;
+
+    private TermDisplayEnum(String key, String label){
+        this.label = label;
+        this.key = key;
+    }
+
+    public String getLabel(){
+        return label;
+    }
+
+    public String getKey(){
+        return key;
+    }
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/CdmPreferencePage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/CdmPreferencePage.java
index e5792c12d..1738bf9ec 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/CdmPreferencePage.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/CdmPreferencePage.java
@@ -10,6 +10,10 @@ package eu.etaxonomy.taxeditor.preference.menu;
 
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
 
 import eu.etaxonomy.taxeditor.preference.IE4PreferencePage;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@@ -23,6 +27,8 @@ public abstract class CdmPreferencePage extends PreferencePage implements IE4Pre
 
     private boolean isApply;
 
+    protected boolean isAdminPreference = false;
+
     public CdmPreferencePage() {
         this(null, null);
     }
@@ -60,7 +66,17 @@ public abstract class CdmPreferencePage extends PreferencePage implements IE4Pre
         isApply = false;
     }
 
-
+    protected Composite createComposite(Composite composite) {
+        Composite activateComp = new Composite(composite, SWT.NULL);
+        GridLayout layout = new GridLayout();
+        if (isAdminPreference){
+            layout.numColumns = 2;
+        }
+        activateComp.setLayout(layout);
+        GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
+        activateComp.setLayoutData(gridData);
+        return activateComp;
+    }
 
 
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusAdminWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusAdminWizard.java
new file mode 100755
index 000000000..8c631dbd8
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusAdminWizard.java
@@ -0,0 +1,122 @@
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.preference.wizard;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.jface.wizard.Wizard;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.ITermService;
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.persistence.dto.TermDto;
+import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author k.luther
+ * @since 19.11.2018
+ *
+ */
+public class AvailableDistributionStatusAdminWizard extends Wizard implements IConversationEnabled{
+    private ConversationHolder conversation;
+    private final AvailableDistributionStatusPage aPage;
+    CdmPreference pref;
+
+    public AvailableDistributionStatusAdminWizard() {
+        setWindowTitle(Messages.AvailableDistributionStatusWizard_WIZARD_TITLE);
+        // TODO if preferenceStore has elements checked load elements in wizard
+        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionStatus);
+        aPage = new AvailableDistributionStatusPage(Messages.AvailableDistributionStatusWizard_PAGE_TITLE, pref);
+    }
+
+    @Override
+    public void addPages() {
+        addPage(aPage);
+    }
+
+    @Override
+    public IWizardPage getPage(String pageName) {
+
+        return aPage;
+    }
+
+    @Override
+    public int getPageCount() {
+       return 1;
+    }
+
+    @Override
+    public IWizardPage[] getPages() {
+        IWizardPage[] pages = new IWizardPage[1];
+        pages [0] = aPage;
+        return pages;
+    }
+
+    @Override
+    public String getWindowTitle() {
+
+        return Messages.AvailableDistributionStatusWizard_WINDOW_TITLE;
+    }
+
+    @Override
+    public boolean performCancel() {
+        // TODO Auto-generated method stub
+        return true;
+    }
+
+    @Override
+    public boolean performFinish() {
+        Object[] checkedElements = aPage.getViewer().getCheckedElements();
+
+        List<UUID> listUIIDChecked = new ArrayList<>();
+        List<DefinedTermBase> preferredTerms = new ArrayList<>();
+        for (Object o : checkedElements) {
+            if(o instanceof TermDto){
+                TermDto termDto = (TermDto) o;
+                listUIIDChecked.add(termDto.getUuid());
+                preferredTerms.add(CdmStore.getService(ITermService.class).load(termDto.getUuid()));
+            }
+        }
+        String saveCheckedElements = StringUtils.join(listUIIDChecked, ";"); //$NON-NLS-1$
+        pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.AvailableDistributionStatus, saveCheckedElements);
+        pref.setAllowOverride(false);
+        PreferencesUtil.setPreferenceToDB(pref);
+        Collection<DefinedTermBase> terms = new ArrayList<>();
+        aPage.getVocabularies().get(0).getTerms()
+        .forEach(dto -> terms.add(CdmStore.getService(ITermService.class).load(dto.getUuid())));
+        CdmStore.getTermManager().setPreferredTerms(preferredTerms, terms);
+        PreferencesUtil.firePreferencesChanged(this.getClass());
+        return true;
+    }
+
+    @Override
+    public void update(CdmDataChangeMap changeEvents) {
+
+    }
+
+    @Override
+    public ConversationHolder getConversationHolder() {
+        if (conversation == null) {
+            conversation = CdmStore.createConversation();
+        }
+        return conversation;
+    }
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/dataimport/e4/SaveImportedSpecimenActionE4.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/dataimport/e4/SaveImportedSpecimenActionE4.java
index 4bfd4ecf6..b7b58604c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/dataimport/e4/SaveImportedSpecimenActionE4.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/dataimport/e4/SaveImportedSpecimenActionE4.java
@@ -94,7 +94,7 @@ public class SaveImportedSpecimenActionE4 extends Action {
             if (!response.getDataSetUri().equals(dataSetUri)){
                 dataSetUri = response.getDataSetUri();
 
-                configuratorAbcd = PreferencesUtil.getAbcdImportConfigurationPreference();
+                configuratorAbcd = PreferencesUtil.getLocalAbcdImportConfigurator();
                 configuratorAbcd.setSourceUri(dataSetUri);
                 //                        configuratorAbcd.addMediaAsMediaSpecimen(true);
                 //                        configuratorAbcd.setIgnoreAuthorship(true);
