diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/AbstractDataSetImmutable.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/AbstractDataSetImmutable.java
index 2f25492cee10c7a45fcc06881694fc24afecaa94..9a48fa812bfc19f90939f6bf108977ff84104e3a 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/AbstractDataSetImmutable.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/AbstractDataSetImmutable.java
@@ -22,7 +22,7 @@ import java.util.List;
 
 import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSetImmutable;
-import ch.systemsx.cisd.openbis.generic.server.api.v1.Translator;
+import ch.systemsx.cisd.openbis.generic.shared.api.v1.Translator;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.ControlledVocabularyPropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DataSetType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetTypePropertyType;
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetRegistratorTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetRegistratorTest.java
index c5c1d56cd1f2512499b74e43db2b8fe080365441..579059365657731078f4b2d2bee78968a77db5eb 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetRegistratorTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetRegistratorTest.java
@@ -155,6 +155,7 @@ public class JythonTopLevelDataSetRegistratorTest extends AbstractJythonDataSetH
                 incomingDir);
         assertEquals("hello world1",
                 FileUtilities.loadToString(new File(datasetLocation, "read1.me")).trim());
+        assertEquals("", logAppender.getLogContent());
         context.assertIsSatisfied();
     }
 
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/resolver/TemplateBasedDataSetResourceResolverTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/resolver/TemplateBasedDataSetResourceResolverTest.java
index db13fd8fbf42b7b7190e24f2268393cc8ef932e5..dd0c5c39882cd6e893bbab5c7ef877ba0dc0dd88 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/resolver/TemplateBasedDataSetResourceResolverTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/resolver/TemplateBasedDataSetResourceResolverTest.java
@@ -48,9 +48,9 @@ import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpPathResolverContext;
 import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpServerConfig;
 import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpServerConfigBuilder;
 import ch.systemsx.cisd.openbis.dss.generic.shared.IHierarchicalContentProvider;
-import ch.systemsx.cisd.openbis.generic.server.api.v1.Translator;
 import ch.systemsx.cisd.openbis.generic.shared.IETLLIMSService;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.IGeneralInformationService;
+import ch.systemsx.cisd.openbis.generic.shared.api.v1.Translator;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DataSet.Connections;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSet;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationService.java
index ec3811886fbcc083f3208050fcf1527adbdbcc2b..6e34eea736792d8e7b60df6dad6377f902fb3bc3 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationService.java
@@ -41,6 +41,7 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDataDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDatabaseInstanceDAO;
 import ch.systemsx.cisd.openbis.generic.shared.ICommonServer;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.IGeneralInformationService;
+import ch.systemsx.cisd.openbis.generic.shared.api.v1.Translator;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.ControlledVocabularyPropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DataSet;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DataSet.Connections;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/Translator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/Translator.java
similarity index 97%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/Translator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/Translator.java
index e2651e6347651013603654d90c2ceb29a83d4905..c81a21ada3cba11f013f819122690332766ac2f6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/Translator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/Translator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.server.api.v1;
+package ch.systemsx.cisd.openbis.generic.shared.api.v1;
 
 import static ch.systemsx.cisd.common.collections.CollectionUtils.nullSafe;
 
@@ -59,12 +59,13 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleL
  */
 public class Translator
 {
-    static Role translate(ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy role)
+    public static Role translate(
+            ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy role)
     {
         return translate(role.getRoleCode(), role.getRoleLevel().equals(RoleLevel.SPACE));
     }
 
-    static Role translate(RoleCode roleCode, boolean spaceLevel)
+    public static Role translate(RoleCode roleCode, boolean spaceLevel)
     {
         return new Role(roleCode.name(), spaceLevel);
     }
@@ -82,7 +83,8 @@ public class Translator
         return translated;
     }
 
-    static Project translate(ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project project)
+    public static Project translate(
+            ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project project)
     {
         EntityRegistrationDetails registrationDetails = translateRegistrationDetails(project);
         return new Project(project.getSpace().getCode(), project.getCode(), registrationDetails);
@@ -128,7 +130,7 @@ public class Translator
         return new Sample(initializer);
     }
 
-    static List<Experiment> translateExperiments(
+    public static List<Experiment> translateExperiments(
             Collection<ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment> privateExperiments)
     {
         ArrayList<Experiment> experiments = new ArrayList<Experiment>();
@@ -139,7 +141,7 @@ public class Translator
         return experiments;
     }
 
-    static Experiment translate(
+    public static Experiment translate(
             ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment privateExperiment)
     {
         ExperimentInitializer initializer = new ExperimentInitializer();
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/api/v1/TranslatorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/TranslatorTest.java
similarity index 98%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/api/v1/TranslatorTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/TranslatorTest.java
index 3a6f7a264b064387a560ca13e064ea0a6e5edc43..371eba9e818349fa93fd336078893793f52280e2 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/api/v1/TranslatorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/TranslatorTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.server.api.v1;
+package ch.systemsx.cisd.openbis.generic.shared.api.v1;
 
 import java.util.EnumSet;
 import java.util.HashMap;
@@ -24,6 +24,7 @@ import org.testng.AssertJUnit;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import ch.systemsx.cisd.openbis.generic.shared.api.v1.Translator;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DataSet;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DataSet.Connections;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageContainerDataSet.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageContainerDataSet.java
index 008547586e33d2c09062b395c72e746d52ed747a..f41ee7a83c022ab9d75457c1e2de9e163af63a58 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageContainerDataSet.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageContainerDataSet.java
@@ -24,6 +24,7 @@ import ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationDetails;
 import ch.systemsx.cisd.etlserver.registrator.api.v1.IDataSet;
 import ch.systemsx.cisd.etlserver.registrator.api.v1.impl.DataSet;
 import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.IImageDataSet;
+import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExperimentImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISampleImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
@@ -41,9 +42,9 @@ public class ImageContainerDataSet extends DataSet<DataSetInformation> implement
 
     public ImageContainerDataSet(
             DataSetRegistrationDetails<? extends DataSetInformation> registrationDetails,
-            File dataSetFolder)
+            File dataSetFolder, IEncapsulatedOpenBISService service)
     {
-        super(registrationDetails, dataSetFolder);
+        super(registrationDetails, dataSetFolder, service);
     }
 
     public DataSet<ImageDataSetInformation> getOriginalDataset()
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/JythonPlateDataSetHandler.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/JythonPlateDataSetHandler.java
index 1054c30c7d3a6477ba585444499b89a7763a2f88..64351d4752db5a855348b1dbc57bf3f05bdab8ff 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/JythonPlateDataSetHandler.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/JythonPlateDataSetHandler.java
@@ -127,7 +127,8 @@ public class JythonPlateDataSetHandler extends JythonTopLevelDataSetHandler<Data
         public ImageContainerDataSet createDataSet(
                 DataSetRegistrationDetails<DataSetInformation> registrationDetails, File stagingFile)
         {
-            return new ImageContainerDataSet(registrationDetails, stagingFile);
+            IEncapsulatedOpenBISService service = registratorState.getGlobalState().getOpenBisService();
+            return new ImageContainerDataSet(registrationDetails, stagingFile, service);
         }
 
         @Override
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ScreeningApiImpl.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ScreeningApiImpl.java
index 174995d3c027caf61f14f18ce94b6ebdd1d96ae7..a59f07e2a189c7eed68099a7aefd30b3646afb0c 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ScreeningApiImpl.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ScreeningApiImpl.java
@@ -34,13 +34,13 @@ import org.apache.commons.lang.StringUtils;
 
 import ch.rinn.restrictions.Friend;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.openbis.generic.server.api.v1.Translator;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.IDataBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ISampleBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.common.DatabaseContextUtils;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.samplelister.ISampleLister;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.ISampleTypeDAO;
+import ch.systemsx.cisd.openbis.generic.shared.api.v1.Translator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;