diff --git a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/config/SyncConfig.java b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/config/SyncConfig.java
index 4674ffb679e886e55adb9daba95e1beb1b45c17b..aca5cb770e8b75998cf8028aa38e77a6f2b2b042 100644
--- a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/config/SyncConfig.java
+++ b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/config/SyncConfig.java
@@ -72,14 +72,14 @@ public class SyncConfig
         this.lastSyncTimestampFileName = lastSyncTimestampFileName;
     }
 
-    public String getDataSourcePrefix()
+    public String getDataSourceAlias()
     {
-        return dataSourcePrefix;
+        return dataSourceAlias;
     }
 
-    public void setDataSourcePrefix(String dataSourcePrefix)
+    public void setDataSourceAlias(String dataSourceAlias)
     {
-        this.dataSourcePrefix = dataSourcePrefix;
+        this.dataSourceAlias = dataSourceAlias;
     }
 
     public List<String> getDataSourceSpaces()
@@ -157,7 +157,7 @@ public class SyncConfig
 
     private String lastSyncTimestampFileName;
 
-    private String dataSourcePrefix;
+    private String dataSourceAlias;
 
     private List<String> dataSourceSpaces = new ArrayList<>();
 
diff --git a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/config/SynchronizationConfigReader.java b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/config/SynchronizationConfigReader.java
index 85960387f213418d45e680c5a55403009bd2477f..7c7fd321af1b467eade69f716a0534d720491866 100644
--- a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/config/SynchronizationConfigReader.java
+++ b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/config/SynchronizationConfigReader.java
@@ -20,6 +20,7 @@ import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.regex.Pattern;
 
 import org.apache.log4j.DailyRollingFileAppender;
 import org.apache.log4j.Logger;
@@ -37,6 +38,8 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier;
  */
 public class SynchronizationConfigReader
 {
+    private static final String DEFAULT_HARVESTER_TEMP_DIR = "targets/store";
+
     private static final String DATA_SOURCE_URL_PROPERTY_NAME = "resource-list-url";
 
     private static final String DATA_SOURCE_OPENBIS_URL_PROPERTY_NAME = "data-source-openbis-url";
@@ -45,7 +48,7 @@ public class SynchronizationConfigReader
 
     private static final String DATA_SOURCE_SPACES_PROPERTY_NAME = "data-source-spaces";
 
-    private static final String DATA_SOURCE_PREFIX_PROPERTY_NAME = "data-source-prefix";
+    private static final String DATA_SOURCE_ALIAS_PROPERTY_NAME = "data-source-alias";
 
     private static final String DATA_SOURCE_AUTH_REALM_PROPERTY_NAME = "data-source-auth-realm";
 
@@ -57,14 +60,14 @@ public class SynchronizationConfigReader
 
     private static final String HARVESTER_TEMP_DIR_PROPERTY_NAME = "harvester-tmp-dir";
 
-    private static final String DEFAULT_LAST_SYNC_TIMESTAMP_FILE = "last-sync-timestamp-file.txt";
-
     private static final String DEFAULT_LOG_FILE_NAME = "../../syncronization.log";
 
     private static final String HARVESTER_LAST_SYNC_TIMESTAMP_FILE_PROPERTY_NAME = "last-sync-timestamp-file";
 
     private static final String EMAIL_ADDRESSES_PROPERTY_NAME = "email-addresses";
 
+    private String defaultLastSyncTimestampFileName = "last-sync-timestamp-file_{alias}.txt";
+
     private static final String LOG_FILE_PROPERTY_NAME = "log-file";
 
     List<SyncConfig> configs = new ArrayList<>();
@@ -84,6 +87,7 @@ public class SynchronizationConfigReader
                 configureFileAppender(config, logger);
             }
 
+            config.setDataSourceAlias(reader.getString(section, DATA_SOURCE_ALIAS_PROPERTY_NAME, null, true));
             config.setDataSourceURI(reader.getString(section, DATA_SOURCE_URL_PROPERTY_NAME, null, true));
             config.setDataSourceOpenbisURL(reader.getString(section, DATA_SOURCE_OPENBIS_URL_PROPERTY_NAME, null, true));
             config.setDataSourceDSSURL(reader.getString(section, DATA_SOURCE_DSS_URL_PROPERTY_NAME, null, true));
@@ -107,15 +111,20 @@ public class SynchronizationConfigReader
                 createDataSourceToHarvesterSpaceMappings(config);
             }
 
-            config.setDataSourcePrefix(reader.getString(section, DATA_SOURCE_PREFIX_PROPERTY_NAME, null, false));
-            config.setHarvesterTempDir(reader.getString(section, HARVESTER_TEMP_DIR_PROPERTY_NAME, "targets/store", false));
+            setDefaultLastSyncTimestampFileName(config);
+            config.setHarvesterTempDir(reader.getString(section, HARVESTER_TEMP_DIR_PROPERTY_NAME, DEFAULT_HARVESTER_TEMP_DIR, false));
             config.setLastSyncTimestampFileName(reader.getString(section, HARVESTER_LAST_SYNC_TIMESTAMP_FILE_PROPERTY_NAME,
-                    DEFAULT_LAST_SYNC_TIMESTAMP_FILE, false));
+                    defaultLastSyncTimestampFileName, false));
             configs.add(config);
         }
         return configs;
     }
 
+    private void setDefaultLastSyncTimestampFileName(SyncConfig config)
+    {
+        this.defaultLastSyncTimestampFileName = defaultLastSyncTimestampFileName.replaceFirst(Pattern.quote("{alias}"), config.getDataSourceAlias());
+    }
+
     private void configureFileAppender(SyncConfig config, Logger logger)
     {
         DailyRollingFileAppender console = new DailyRollingFileAppender(); // create appender
diff --git a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/EntitySynchronizer.java b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/EntitySynchronizer.java
index 0bc54137aceb610f261b0690b97a68af7fd2847d..1ee706588b1eb96e22a6e61e36dd298037cd21f5 100644
--- a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/EntitySynchronizer.java
+++ b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/EntitySynchronizer.java
@@ -170,7 +170,7 @@ public class EntitySynchronizer
         // Parse the resource list: This sends back all projects,
         // experiments, samples and data sets contained in the XML together with their last modification date to be used for filtering
         operationLog.info("parsing the resource list xml document");
-        String dataSourcePrefix = config.getDataSourcePrefix();
+        String dataSourcePrefix = config.getDataSourceAlias();
         INameTranslator nameTranslator = null;
         if (dataSourcePrefix != null && dataSourcePrefix.trim().equals("") == false)
         {
@@ -211,11 +211,8 @@ public class EntitySynchronizer
 
     private void processDataSetRelationships(Map<String, DataSetWithConnections> dataSetsToProcess, Map<String, DataSetWithConnections> physicalDSMap)
     {
-        AtomicEntityOperationDetailsBuilder builder;
-        AtomicEntityOperationResult operationResult;
-        builder = new AtomicEntityOperationDetailsBuilder();
+        AtomicEntityOperationDetailsBuilder builder = new AtomicEntityOperationDetailsBuilder();
 
-        builder.user(config.getUser());
         Map<String, NewExternalData> datasetsToUpdate = new HashMap<String, NewExternalData>();
 
         // set parent and container data set codes before everything else
@@ -321,7 +318,7 @@ public class EntitySynchronizer
 
             builder.dataSetUpdate(dsBatchUpdatesDTO);
         }
-        operationResult = service.performEntityOperations(builder.getDetails());
+        AtomicEntityOperationResult operationResult = service.performEntityOperations(builder.getDetails());
         operationLog.info("entity operation result: " + operationResult);
     }
 
diff --git a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/ResourceListParser.java b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/ResourceListParser.java
index a474f978c20643c05d3d467734804acd1b2f1c70..87ac5028e6d4aff5df64fa43445a8456e551254e 100644
--- a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/ResourceListParser.java
+++ b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/ResourceListParser.java
@@ -144,7 +144,6 @@ public class ResourceListParser
         List<String> uris = getResourceLocations(doc, xpath);
         for (String uri : uris)
         {
-
             parseUriMetaData(doc, xpath, uri);
         }
 
@@ -276,7 +275,7 @@ public class ResourceListParser
     {
         String code = extractCode(xdNode);
         String sample = extractAttribute(xdNode, "sample");
-        String experiment = extractAttribute(xdNode, "experimente");
+        String experiment = extractAttribute(xdNode, "experiment");
         String type = extractType(xdNode);
         String dsKind = extractAttribute(xdNode, "dsKind");
         NewExternalData ds = new NewExternalData();
diff --git a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/translator/PrefixBasedNameTranslator.java b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/translator/PrefixBasedNameTranslator.java
index c46c0f34e64a1143c101ad6b174330dffa692973..58fe522a79d3036aea9ec20e1c5f99b7be6af5fd 100644
--- a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/translator/PrefixBasedNameTranslator.java
+++ b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/harvester/synchronizer/translator/PrefixBasedNameTranslator.java
@@ -33,7 +33,7 @@ public class PrefixBasedNameTranslator implements INameTranslator
     @Override
     public String translate(String name)
     {
-        return prefix + "-" + name;
+        return prefix + "_" + name;
     }
 
 }