diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/FullSampleIdentifier.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/FullSampleIdentifier.java
index 064aabddcd2db9ac4d868fc17b928ea1a7adf01c..9758a0bdfe25e8d2bb51cb02bc40ff539b977dbd 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/FullSampleIdentifier.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/FullSampleIdentifier.java
@@ -169,8 +169,12 @@ public class FullSampleIdentifier
     @Override
     public String toString()
     {
+        // TODO: project samples
+//        return new SampleIdentifier(sampleIdentifierParts.getSpaceCodeOrNull(), 
+//                sampleIdentifierParts.getProjectCodeOrNull(), sampleIdentifierParts.getContainerCodeOrNull(), 
+//                sampleCode).toString();
         return new SampleIdentifier(sampleIdentifierParts.getSpaceCodeOrNull(), 
-                sampleIdentifierParts.getProjectCodeOrNull(), sampleIdentifierParts.getContainerCodeOrNull(), 
+                sampleIdentifierParts.getContainerCodeOrNull(), 
                 sampleCode).toString();
     }
     
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/SetSampleProjectExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/SetSampleProjectExecutor.java
index 2ca295479574b83f2376b7f7ddc9a5e8d52461fb..2b4a205f7521221d49f1b26eb24c14ec699e5e92 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/SetSampleProjectExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/SetSampleProjectExecutor.java
@@ -47,7 +47,9 @@ public class SetSampleProjectExecutor extends AbstractSetEntityToOneRelationExec
     @Override
     protected IProjectId getRelatedId(SampleCreation creation)
     {
-        return creation.getProjectId();
+        // TODO: project samples
+//        return creation.getProjectId();
+        return null;
     }
 
     @Override
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSampleProjectExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSampleProjectExecutor.java
index be1d6729f219eaa3677b8cb7fbd6e296bf26f80c..9d7bfb418aa505e7ff6e01563e0226c97faa7f68 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSampleProjectExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSampleProjectExecutor.java
@@ -63,7 +63,9 @@ public class UpdateSampleProjectExecutor extends AbstractUpdateEntityToOneRelati
     @Override
     protected FieldUpdateValue<IProjectId> getRelatedUpdate(SampleUpdate update)
     {
-        return update.getProjectId();
+        // TODO: project samples
+//        return update.getProjectId();
+        return null;
     }
 
 
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/generators/Generator.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/generators/Generator.java
index 03cb7a89d2d3d8c2b7d1e1c584d540a71597f4cc..4c5012d6e9a0feeef7da33ce6fd1d4d1b725cc90 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/generators/Generator.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/generators/Generator.java
@@ -91,7 +91,8 @@ public class Generator extends AbstractGenerator
         addModificationDate(gen);
 
         gen.addFetchedField(SampleType.class, "type", "Sample type", SampleTypeFetchOptions.class);
-        gen.addFetchedField(Project.class, "project", "Project", ProjectFetchOptions.class);
+        // TODO: project samples
+//        gen.addFetchedField(Project.class, "project", "Project", ProjectFetchOptions.class);
         addSpace(gen);
         addExperiment(gen);
         addProperties(gen);
@@ -428,8 +429,9 @@ public class Generator extends AbstractGenerator
 
         gen.addPluralFetchedField("List<Experiment>", List.class.getName(), "experiments", "Experiments", ExperimentFetchOptions.class);
         gen.addClassForImport(Experiment.class);
-        gen.addPluralFetchedField("List<Sample>", List.class.getName(), "samples", "Samples", SampleFetchOptions.class);
-        gen.addClassForImport(Sample.class);
+        // TODO: project samples
+//        gen.addPluralFetchedField("List<Sample>", List.class.getName(), "samples", "Samples", SampleFetchOptions.class);
+//        gen.addClassForImport(Sample.class);
         gen.addPluralFetchedField("List<HistoryEntry>", List.class.getName(), "history", "History", HistoryEntryFetchOptions.class);
         gen.addClassForImport(HistoryEntry.class);
 
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/entity/project/ProjectTranslator.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/entity/project/ProjectTranslator.java
index 2ec93006b45fbc1af0b3e1cc111e85a3d987fd9d..1940d24762585f5c1992d7580c8a20b7ec9f7d34 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/entity/project/ProjectTranslator.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/entity/project/ProjectTranslator.java
@@ -29,7 +29,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.Project;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.fetchoptions.ProjectFetchOptions;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectIdentifier;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectPermId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.Sample;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.AbstractCachingTranslator;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.TranslationContext;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.translator.TranslationResults;
@@ -102,10 +101,11 @@ public class ProjectTranslator extends AbstractCachingTranslator<Long, Project,
             relations.put(IProjectExperimentTranslator.class, experimentTranslator.translate(context, projectIds, fetchOptions.withExperiments()));
         }
 
-        if (fetchOptions.hasSamples())
-        {
-            relations.put(IProjectSampleTranslator.class, sampleTranslator.translate(context, projectIds, fetchOptions.withSamples()));
-        }
+        // TODO: project samples
+//        if (fetchOptions.hasSamples())
+//        {
+//            relations.put(IProjectSampleTranslator.class, sampleTranslator.translate(context, projectIds, fetchOptions.withSamples()));
+//        }
 
         if (fetchOptions.hasRegistrator())
         {
@@ -161,11 +161,12 @@ public class ProjectTranslator extends AbstractCachingTranslator<Long, Project,
             result.getFetchOptions().withExperimentsUsing(fetchOptions.withExperiments());
         }
 
-        if (fetchOptions.hasSamples())
-        {
-            result.setSamples((List<Sample>) relations.get(IProjectSampleTranslator.class, projectId));
-            result.getFetchOptions().withSamplesUsing(fetchOptions.withSamples());
-        }
+        // TODO: project samples
+//        if (fetchOptions.hasSamples())
+//        {
+//            result.setSamples((List<Sample>) relations.get(IProjectSampleTranslator.class, projectId));
+//            result.getFetchOptions().withSamplesUsing(fetchOptions.withSamples());
+//        }
 
         if (fetchOptions.hasRegistrator())
         {
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/entity/sample/SampleTranslator.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/entity/sample/SampleTranslator.java
index eb0091af2a5af0368c01def3fc3989a252a1b4a3..275481480de30b687adf632947a57f4bc322b360 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/entity/sample/SampleTranslator.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/entity/sample/SampleTranslator.java
@@ -126,10 +126,11 @@ public class SampleTranslator extends AbstractCachingTranslator<Long, Sample, Sa
             relations.put(ISampleSpaceTranslator.class, spaceTranslator.translate(context, sampleIds, fetchOptions.withSpace()));
         }
 
-        if (fetchOptions.hasProject())
-        {
-            relations.put(ISampleProjectTranslator.class, projectTranslator.translate(context, sampleIds, fetchOptions.withProject()));
-        }
+        // TODO: project samples
+//        if (fetchOptions.hasProject())
+//        {
+//            relations.put(ISampleProjectTranslator.class, projectTranslator.translate(context, sampleIds, fetchOptions.withProject()));
+//        }
 
         if (fetchOptions.hasProperties())
         {
@@ -208,7 +209,10 @@ public class SampleTranslator extends AbstractCachingTranslator<Long, Sample, Sa
 
         result.setPermId(new SamplePermId(baseRecord.permId));
         result.setCode(baseRecord.code);
-        result.setIdentifier(new SampleIdentifier(baseRecord.spaceCode, baseRecord.projectCode,
+        // TODO: project samples
+//        result.setIdentifier(new SampleIdentifier(baseRecord.spaceCode, baseRecord.projectCode,
+//                baseRecord.containerCode, baseRecord.code));
+        result.setIdentifier(new SampleIdentifier(baseRecord.spaceCode, 
                 baseRecord.containerCode, baseRecord.code));
         result.setModificationDate(baseRecord.modificationDate);
         result.setRegistrationDate(baseRecord.registrationDate);
@@ -225,11 +229,12 @@ public class SampleTranslator extends AbstractCachingTranslator<Long, Sample, Sa
             result.getFetchOptions().withSpaceUsing(fetchOptions.withSpace());
         }
 
-        if (fetchOptions.hasProject())
-        {
-            result.setProject(relations.get(ISampleProjectTranslator.class, sampleId));
-            result.getFetchOptions().withProjectUsing(fetchOptions.withProject());
-        }
+        // TODO: project samples
+//        if (fetchOptions.hasProject())
+//        {
+//            result.setProject(relations.get(ISampleProjectTranslator.class, sampleId));
+//            result.getFetchOptions().withProjectUsing(fetchOptions.withProject());
+//        }
 
         if (fetchOptions.hasProperties())
         {
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/search/ProjectSearchCriteriaTranslator.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/search/ProjectSearchCriteriaTranslator.java
index 7ae9c9aceced6cc882b6f954567f7d1b15479a12..b99209814db39de798f4486127ea5f90aee8b28c 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/search/ProjectSearchCriteriaTranslator.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/translator/search/ProjectSearchCriteriaTranslator.java
@@ -23,7 +23,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractCompositeS
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.search.NoProjectSearchCriteria;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.search.ProjectSearchCriteria;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.search.SpaceSearchCriteria;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
@@ -53,7 +52,9 @@ public class ProjectSearchCriteriaTranslator extends AbstractFieldFromCompositeS
     @Override
     protected boolean doAccepts(ISearchCriteria criteria)
     {
-        return criteria instanceof NoProjectSearchCriteria || criteria instanceof ProjectSearchCriteria;
+        // TODO: project samples
+//        return criteria instanceof NoProjectSearchCriteria || criteria instanceof ProjectSearchCriteria;
+        return criteria instanceof ProjectSearchCriteria;
     }
 
     @Override
@@ -64,10 +65,11 @@ public class ProjectSearchCriteriaTranslator extends AbstractFieldFromCompositeS
             throw new IllegalArgumentException("Project criteria can be used only in experiment or sample criteria, "
                     + "but was used in: " + context.peekEntityKind() + " context.");
         }
-        if (criteria instanceof NoProjectSearchCriteria)
-        {
-            return new SearchCriteriaTranslationResult(new DetailedSearchCriterion(PROJECT_ID_FIELD, NullBridge.NULL));
-        }
+        // TODO: project samples
+//        if (criteria instanceof NoProjectSearchCriteria)
+//        {
+//            return new SearchCriteriaTranslationResult(new DetailedSearchCriterion(PROJECT_ID_FIELD, NullBridge.NULL));
+//        }
         AbstractCompositeSearchCriteria compositeCriteria = (AbstractCompositeSearchCriteria) criteria;
         Collection<ISearchCriteria> subCriteria = compositeCriteria.getCriteria();
         if (subCriteria.isEmpty())
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DAOFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DAOFactory.java
index 5f9060e0c68e59a9dfdf09675b4cb0f36dd53d1d..caa3ae78c842db0c3984250f83dbe2a114024f32 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DAOFactory.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DAOFactory.java
@@ -22,7 +22,6 @@ import java.sql.Statement;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Properties;
 
 import javax.annotation.Resource;
 
@@ -33,7 +32,6 @@ import org.springframework.beans.factory.InitializingBean;
 import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel;
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
-import ch.systemsx.cisd.common.properties.PropertyUtils;
 import ch.systemsx.cisd.common.spring.ExposablePropertyPlaceholderConfigurer;
 import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext;
 import ch.systemsx.cisd.openbis.common.spring.SpringEoDSQLExceptionTranslator;
@@ -356,8 +354,10 @@ public final class DAOFactory extends AuthorizationDAOFactory implements IDAOFac
     @Override
     public void afterPropertiesSet() throws Exception
     {
-        Properties serviceProperties = configurer.getResolvedProps();
-        boolean projectSamplesEnabled = PropertyUtils.getBoolean(serviceProperties, Constants.PROJECT_SAMPLES_ENABLED_KEY, false);
+        // TODO: project samples
+//        Properties serviceProperties = configurer.getResolvedProps();
+//        boolean projectSamplesEnabled = PropertyUtils.getBoolean(serviceProperties, Constants.PROJECT_SAMPLES_ENABLED_KEY, false);
+        boolean projectSamplesEnabled = false;
         Connection connection = null;
         try
         {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/Project.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/Project.js
index bed523353184f2e35b7b3534bd68048cb310f55d..c68ee466105911a8bc001f168809a71320260ab0 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/Project.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/Project.js
@@ -16,7 +16,6 @@ define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
 		prototype.registrationDate = null;
 		prototype.modificationDate = null;
 		prototype.experiments = null;
-		prototype.samples = null;
 		prototype.history = null;
 		prototype.space = null;
 		prototype.registrator = null;
@@ -75,16 +74,6 @@ define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
 		prototype.setExperiments = function(experiments) {
 			this.experiments = experiments;
 		};
-		prototype.getSamples = function() {
-			if (this.getFetchOptions().hasSamples()) {
-				return this.samples;
-			} else {
-				throw new exceptions.NotFetchedException("Samples have not been fetched.");
-			}
-		};
-		prototype.setSamples = function(samples) {
-			this.samples = samples;
-		};
 		prototype.getHistory = function() {
 			if (this.getFetchOptions().hasHistory()) {
 				return this.history;
@@ -151,10 +140,6 @@ define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
 		identifier : "ProjectIdentifier",
 		registrationDate : "Date",
 		modificationDate : "Date",
-		samples : {
-			name : "List",
-			arguments : [ "Sample" ]
-		},
 		history : {
 			name : "List",
 			arguments : [ "HistoryEntry" ]
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/fetchoptions/ProjectFetchOptions.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/fetchoptions/ProjectFetchOptions.js
index 7844c2cbe0d969b37c7272b6aca332f0f83a33a8..962386dadf52a44fc1c5c0f3e0391b9174fe2eca 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/fetchoptions/ProjectFetchOptions.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/fetchoptions/ProjectFetchOptions.js
@@ -3,7 +3,7 @@
  * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
  */
 define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/person/fetchoptions/PersonFetchOptions', 'as/dto/space/fetchoptions/SpaceFetchOptions',
-		'as/dto/sample/fetchoptions/SampleFetchOptions', 'as/dto/experiment/fetchoptions/ExperimentFetchOptions', 'as/dto/attachment/fetchoptions/AttachmentFetchOptions',
+		'as/dto/experiment/fetchoptions/ExperimentFetchOptions', 'as/dto/attachment/fetchoptions/AttachmentFetchOptions',
 		'as/dto/project/fetchoptions/ProjectSortOptions', 'as/dto/history/fetchoptions/HistoryEntryFetchOptions' ], function(require, stjs, FetchOptions) {
 	var ProjectFetchOptions = function() {
 	};
@@ -11,7 +11,6 @@ define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/p
 		prototype['@type'] = 'as.dto.project.fetchoptions.ProjectFetchOptions';
 		constructor.serialVersionUID = 1;
 		prototype.experiments = null;
-		prototype.samples = null;
 		prototype.space = null;
 		prototype.registrator = null;
 		prototype.modifier = null;
@@ -32,19 +31,6 @@ define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/p
 		prototype.hasExperiments = function() {
 			return this.experiments != null;
 		};
-		prototype.withSamples = function() {
-			if (this.samples == null) {
-				var SampleFetchOptions = require("as/dto/sample/fetchoptions/SampleFetchOptions");
-				this.samples = new SampleFetchOptions();
-			}
-			return this.samples;
-		};
-		prototype.withSamplesUsing = function(fetchOptions) {
-			return this.samples = fetchOptions;
-		};
-		prototype.hasSamples = function() {
-			return this.samples != null;
-		};
 		prototype.withSpace = function() {
 			if (this.space == null) {
 				var SpaceFetchOptions = require("as/dto/space/fetchoptions/SpaceFetchOptions");
@@ -135,7 +121,6 @@ define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/p
 		};
 	}, {
 		experiments : "ExperimentFetchOptions",
-		samples : "SampleFetchOptions",
 		space : "SpaceFetchOptions",
 		registrator : "PersonFetchOptions",
 		modifier : "PersonFetchOptions",
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/search/NoProjectSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/search/NoProjectSearchCriteria.js
deleted file mode 100644
index 51d8ff2ed6e11c7342fd5c4cbe9fcabc82f38823..0000000000000000000000000000000000000000
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/search/NoProjectSearchCriteria.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/ISearchCriteria" ], function(stjs, ISearchCriteria) {
-	var NoProjectSearchCriteria = function() {
-	};
-	stjs.extend(NoProjectSearchCriteria, null, [ ISearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.project.search.NoProjectSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return NoProjectSearchCriteria;
-})
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/Sample.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/Sample.js
index 6b973fca43b42c052969c26264adba15a5fb9a1f..33813d462053dcaed975f3cbcb07d2839ed3e53d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/Sample.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/Sample.js
@@ -15,7 +15,6 @@ define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
 		prototype.registrationDate = null;
 		prototype.modificationDate = null;
 		prototype.type = null;
-		prototype.project = null;
 		prototype.space = null;
 		prototype.experiment = null;
 		prototype.properties = null;
@@ -76,16 +75,6 @@ define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
 		prototype.setType = function(type) {
 			this.type = type;
 		};
-		prototype.getProject = function() {
-			if (this.getFetchOptions().hasProject()) {
-				return this.project;
-			} else {
-				throw new exceptions.NotFetchedException("Project has not been fetched.");
-			}
-		};
-		prototype.setProject = function(project) {
-			this.project = project;
-		};
 		prototype.getSpace = function() {
 			if (this.getFetchOptions().hasSpace()) {
 				return this.space;
@@ -244,7 +233,6 @@ define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
 		registrationDate : "Date",
 		modificationDate : "Date",
 		type : "SampleType",
-		project : "Project",
 		space : "Space",
 		experiment : "Experiment",
 		properties : {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/create/SampleCreation.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/create/SampleCreation.js
index f7107c122304b73ccf7e627f60945acf122561b5..c3d7d83d63431ea46c4f245ac6b084cabb989f2a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/create/SampleCreation.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/create/SampleCreation.js
@@ -10,7 +10,6 @@ define([ "stjs" ], function(stjs) {
 		constructor.serialVersionUID = 1;
 		prototype.typeId = null;
 		prototype.experimentId = null;
-		prototype.projectId = null;
 		prototype.spaceId = null;
 		prototype.code = null;
 		prototype.tagIds = null;
@@ -32,12 +31,6 @@ define([ "stjs" ], function(stjs) {
 		prototype.setExperimentId = function(experimentId) {
 			this.experimentId = experimentId;
 		};
-		prototype.getProjectId = function() {
-			return this.projectId;
-		};
-		prototype.setProjectId = function(projectId) {
-			this.projectId = projectId;
-		};
 		prototype.getSpaceId = function() {
 			return this.spaceId;
 		};
@@ -107,7 +100,6 @@ define([ "stjs" ], function(stjs) {
 	}, {
 		typeId : "IEntityTypeId",
 		experimentId : "IExperimentId",
-		projectId : "IProjectId",
 		spaceId : "ISpaceId",
 		tagIds : {
 			name : "List",
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/fetchoptions/SampleFetchOptions.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/fetchoptions/SampleFetchOptions.js
index 9fa3e331c5b7a93486895257b0f8368072fc2229..3032b4441260fbe3aa82a4d75b6bd38b366d1fcc 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/fetchoptions/SampleFetchOptions.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/fetchoptions/SampleFetchOptions.js
@@ -3,7 +3,7 @@
  * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
  */
 define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/sample/fetchoptions/SampleTypeFetchOptions', 'as/dto/space/fetchoptions/SpaceFetchOptions',
-		'as/dto/project/fetchoptions/ProjectFetchOptions', 'as/dto/experiment/fetchoptions/ExperimentFetchOptions', 'as/dto/property/fetchoptions/PropertyFetchOptions', 'as/dto/tag/fetchoptions/TagFetchOptions',
+		'as/dto/experiment/fetchoptions/ExperimentFetchOptions', 'as/dto/property/fetchoptions/PropertyFetchOptions', 'as/dto/tag/fetchoptions/TagFetchOptions',
 		'as/dto/person/fetchoptions/PersonFetchOptions', 'as/dto/attachment/fetchoptions/AttachmentFetchOptions', 'as/dto/material/fetchoptions/MaterialFetchOptions',
 		'as/dto/dataset/fetchoptions/DataSetFetchOptions', 'as/dto/history/fetchoptions/HistoryEntryFetchOptions', 'as/dto/sample/fetchoptions/SampleSortOptions' ], function(require, stjs, FetchOptions) {
 	var SampleFetchOptions = function() {
@@ -12,7 +12,6 @@ define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/s
 		prototype['@type'] = 'as.dto.sample.fetchoptions.SampleFetchOptions';
 		constructor.serialVersionUID = 1;
 		prototype.type = null;
-		prototype.project = null;
 		prototype.space = null;
 		prototype.experiment = null;
 		prototype.properties = null;
@@ -41,19 +40,6 @@ define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/s
 		prototype.hasType = function() {
 			return this.type != null;
 		};
-		prototype.withProject = function() {
-			if (this.project == null) {
-				var ProjectFetchOptions = require("as/dto/project/fetchoptions/ProjectFetchOptions");
-				this.project = new ProjectFetchOptions();
-			}
-			return this.project;
-		};
-		prototype.withProjectUsing = function(fetchOptions) {
-			return this.project = fetchOptions;
-		};
-		prototype.hasProject = function() {
-			return this.project != null;
-		};
 		prototype.withSpace = function() {
 			if (this.space == null) {
 				var SpaceFetchOptions = require("as/dto/space/fetchoptions/SpaceFetchOptions");
@@ -244,7 +230,6 @@ define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/s
 		};
 	}, {
 		type : "SampleTypeFetchOptions",
-		project : "ProjectFetchOptions",
 		space : "SpaceFetchOptions",
 		experiment : "ExperimentFetchOptions",
 		properties : "PropertyFetchOptions",
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/search/SampleSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/search/SampleSearchCriteria.js
index ecc76b75108847baab0bfbf5dbee6cd3a5c3b182..714bf8daa59726915271039fc3b6e5f26e2237cd 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/search/SampleSearchCriteria.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/search/SampleSearchCriteria.js
@@ -2,7 +2,7 @@
  * @author pkupczyk
  */
 define([ "require", "stjs", "as/dto/common/search/AbstractEntitySearchCriteria", "as/dto/common/search/SearchOperator", "as/dto/sample/search/SampleSearchRelation", "as/dto/space/search/SpaceSearchCriteria",
-		"as/dto/project/search/ProjectSearchCriteria", "as/dto/project/search/NoProjectSearchCriteria", "as/dto/experiment/search/ExperimentSearchCriteria", "as/dto/experiment/search/NoExperimentSearchCriteria",
+		"as/dto/experiment/search/ExperimentSearchCriteria", "as/dto/experiment/search/NoExperimentSearchCriteria",
 		"as/dto/sample/search/NoSampleContainerSearchCriteria" ], function(require, stjs, AbstractEntitySearchCriteria, SearchOperator, SampleSearchRelation) {
 
 	var SampleSearchCriteria = function(relation) {
@@ -17,14 +17,6 @@ define([ "require", "stjs", "as/dto/common/search/AbstractEntitySearchCriteria",
 			var SpaceSearchCriteria = require("as/dto/space/search/SpaceSearchCriteria");
 			return this.addCriteria(new SpaceSearchCriteria());
 		};
-		prototype.withProject = function() {
-			var ProjectSearchCriteria = require("as/dto/project/search/ProjectSearchCriteria");
-			return this.addCriteria(new ProjectSearchCriteria());
-		};
-		prototype.withoutProject = function() {
-			var NoProjectSearchCriteria = require("as/dto/project/search/NoProjectSearchCriteria");
-			return this.addCriteria(new NoProjectSearchCriteria());
-		};
 		prototype.withExperiment = function() {
 			var ExperimentSearchCriteria = require("as/dto/experiment/search/ExperimentSearchCriteria");
 			return this.addCriteria(new ExperimentSearchCriteria());
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/update/SampleUpdate.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/update/SampleUpdate.js
index 22667c53c3d1f9a02518ab11301a0479ed1a568d..d2c8b77c60878a4747b8c01b145de670a7b56951 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/update/SampleUpdate.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/sample/update/SampleUpdate.js
@@ -6,7 +6,6 @@ define([ "stjs", "as/dto/common/update/FieldUpdateValue", "as/dto/common/update/
 	var SampleUpdate = function() {
 		this.properties = {};
 		this.experimentId = new FieldUpdateValue();
-		this.projectId = new FieldUpdateValue();
 		this.spaceId = new FieldUpdateValue();
 		this.tagIds = new IdListUpdateValue();
 		this.containerId = new FieldUpdateValue();
@@ -21,7 +20,6 @@ define([ "stjs", "as/dto/common/update/FieldUpdateValue", "as/dto/common/update/
 		prototype.sampleId = null;
 		prototype.properties = null;
 		prototype.experimentId = null;
-		prototype.projectId = null;
 		prototype.spaceId = null;
 		prototype.tagIds = null;
 		prototype.containerId = null;
@@ -36,12 +34,6 @@ define([ "stjs", "as/dto/common/update/FieldUpdateValue", "as/dto/common/update/
 		prototype.setSampleId = function(sampleId) {
 			this.sampleId = sampleId;
 		};
-		prototype.getProjectId = function() {
-			return this.projectId;
-		};
-		prototype.setProjectId = function(projectId) {
-			this.projectId.setValue(projectId);
-		};
 		prototype.getExperimentId = function() {
 			return this.experimentId;
 		};
@@ -102,10 +94,6 @@ define([ "stjs", "as/dto/common/update/FieldUpdateValue", "as/dto/common/update/
 			name : "FieldUpdateValue",
 			arguments : [ "IExperimentId" ]
 		},
-		projectId : {
-			name : "FieldUpdateValue",
-			arguments : [ "IProjectId" ]
-		},
 		spaceId : {
 			name : "FieldUpdateValue",
 			arguments : [ "ISpaceId" ]
diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/ProjectSampleTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/ProjectSampleTest.java
index d824612b2e70e769f50ebdfad89d5655edb7c12d..b891fb6468af134f7f76e74db33173737f203944 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/ProjectSampleTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/ProjectSampleTest.java
@@ -16,66 +16,10 @@
 
 package ch.ethz.sis.openbis.systemtest.asapi.v3;
 
-import static junit.framework.Assert.fail;
-import static org.testng.Assert.assertEquals;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.transaction.AfterTransaction;
 import org.springframework.test.context.transaction.TransactionConfiguration;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
-import ch.ethz.sis.openbis.generic.asapi.v3.IApplicationServerApi;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IModificationDateHolder;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IModifierHolder;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchResult;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.EntityTypePermId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.Experiment;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.create.ExperimentCreation;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.delete.ExperimentDeletionOptions;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.fetchoptions.ExperimentFetchOptions;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentIdentifier;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentPermId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.IExperimentId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.update.ExperimentUpdate;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.Project;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.create.ProjectCreation;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.fetchoptions.ProjectFetchOptions;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.IProjectId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectIdentifier;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectPermId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.Sample;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.create.SampleCreation;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.delete.SampleDeletionOptions;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.fetchoptions.SampleFetchOptions;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.ISampleId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SampleIdentifier;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SamplePermId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.search.SampleSearchCriteria;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.update.SampleUpdate;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.create.SpaceCreation;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.ISpaceId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.SpacePermId;
-import ch.systemsx.cisd.common.action.IDelegatedAction;
-import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.common.logging.LogCategory;
-import ch.systemsx.cisd.common.logging.LogFactory;
-import ch.systemsx.cisd.openbis.generic.server.dataaccess.util.UpdateUtils;
-import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode;
 import ch.systemsx.cisd.openbis.systemtest.base.BaseTest;
-import ch.systemsx.cisd.openbis.systemtest.base.builder.SessionBuilder;
 
 /**
  * 
@@ -86,6 +30,7 @@ import ch.systemsx.cisd.openbis.systemtest.base.builder.SessionBuilder;
 @Test(groups = "project-samples")
 public class ProjectSampleTest extends BaseTest
 {
+    /*    
     private static final String SYSTEM_USER = "system";
     private static final SpacePermId HOME_SPACE_ID = new SpacePermId("DEFAULT");
     private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, ProjectSampleTest.class);
@@ -103,7 +48,6 @@ public class ProjectSampleTest extends BaseTest
     private ProjectPermId project1inHomeSpace;
     private String adminSessionToken;
     private String adminUser;
-    
     @BeforeClass
     public void createData()
     {
@@ -1238,4 +1182,5 @@ public class ProjectSampleTest extends BaseTest
             // silently ignored
         }
     }
+*/
 }
diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateExperimentTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateExperimentTest.java
index 9e768f1f088a1e2147630e58b41ef7a1980d7f07..dc59242832942f5a091355bbc2176c4c8523e427 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateExperimentTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateExperimentTest.java
@@ -33,7 +33,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.EntityTypePermId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.Experiment;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.create.ExperimentCreation;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.fetchoptions.ExperimentFetchOptions;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentIdentifier;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentPermId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.IExperimentId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.update.ExperimentUpdate;
@@ -125,6 +124,7 @@ public class UpdateExperimentTest extends AbstractExperimentTest
         assertEquals(experiment.getIdentifier().getIdentifier(), "/CISD/NOE/TEST_EXPERIMENT");
     }
     
+    /*
     @Test(groups = "project-samples")
     public void testMovingExperimentWithProjectSamplesToADifferentProject()
     {
@@ -157,7 +157,7 @@ public class UpdateExperimentTest extends AbstractExperimentTest
         AssertionUtil.assertCollectionSize(samples, 1);
         AssertionUtil.assertCollectionSize(experiments, 1);
     }
-
+*/
     @Test
     public void testUpdateWithProjectNull()
     {
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/Project.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/Project.java
index 25b239c2b5d8ab28bfb3f8fe39f3f74bda0e491c..8023f6baf02f3126bb42c86523114b6f89ef2ce6 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/Project.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/Project.java
@@ -37,7 +37,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.Person;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.fetchoptions.ProjectFetchOptions;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectIdentifier;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectPermId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.Sample;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.Space;
 import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.NotFetchedException;
 import ch.systemsx.cisd.base.annotation.JsonObject;
@@ -46,8 +45,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject;
  * Class automatically generated with DtoGenerator
  */
 @JsonObject("as.dto.project.Project")
-public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, IModificationDateHolder, IModifierHolder, IPermIdHolder,
-        IRegistrationDateHolder, IRegistratorHolder, ISpaceHolder
+public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, IModificationDateHolder, IModifierHolder, IPermIdHolder, IRegistrationDateHolder, IRegistratorHolder, ISpaceHolder
 {
     private static final long serialVersionUID = 1L;
 
@@ -75,9 +73,6 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
     @JsonProperty
     private List<Experiment> experiments;
 
-    @JsonProperty
-    private List<Sample> samples;
-
     @JsonProperty
     private List<HistoryEntry> history;
 
@@ -211,26 +206,6 @@ public class Project implements Serializable, IAttachmentsHolder, ICodeHolder, I
         this.experiments = experiments;
     }
 
-    // Method automatically generated with DtoGenerator
-    @JsonIgnore
-    public List<Sample> getSamples()
-    {
-        if (getFetchOptions().hasSamples())
-        {
-            return samples;
-        }
-        else
-        {
-            throw new NotFetchedException("Samples have not been fetched.");
-        }
-    }
-
-    // Method automatically generated with DtoGenerator
-    public void setSamples(List<Sample> samples)
-    {
-        this.samples = samples;
-    }
-
     // Method automatically generated with DtoGenerator
     @JsonIgnore
     public List<HistoryEntry> getHistory()
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/fetchoptions/ProjectFetchOptions.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/fetchoptions/ProjectFetchOptions.java
index 3f6a9efa589b411065af1c23c93b80003d16c1c4..f15832184f7b33999b363453fd5350c82ebe846f 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/fetchoptions/ProjectFetchOptions.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/fetchoptions/ProjectFetchOptions.java
@@ -25,7 +25,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.fetchoptions.Experime
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.fetchoptions.HistoryEntryFetchOptions;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.fetchoptions.PersonFetchOptions;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.Project;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.fetchoptions.SampleFetchOptions;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.fetchoptions.SpaceFetchOptions;
 import ch.systemsx.cisd.base.annotation.JsonObject;
 
@@ -40,9 +39,6 @@ public class ProjectFetchOptions extends FetchOptions<Project> implements Serial
     @JsonProperty
     private ExperimentFetchOptions experiments;
 
-    @JsonProperty
-    private SampleFetchOptions samples;
-
     @JsonProperty
     private HistoryEntryFetchOptions history;
 
@@ -86,28 +82,6 @@ public class ProjectFetchOptions extends FetchOptions<Project> implements Serial
         return experiments != null;
     }
 
-    // Method automatically generated with DtoGenerator
-    public SampleFetchOptions withSamples()
-    {
-        if (samples == null)
-        {
-            samples = new SampleFetchOptions();
-        }
-        return samples;
-    }
-
-    // Method automatically generated with DtoGenerator
-    public SampleFetchOptions withSamplesUsing(SampleFetchOptions fetchOptions)
-    {
-        return samples = fetchOptions;
-    }
-
-    // Method automatically generated with DtoGenerator
-    public boolean hasSamples()
-    {
-        return samples != null;
-    }
-
     // Method automatically generated with DtoGenerator
     public HistoryEntryFetchOptions withHistory()
     {
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/search/NoProjectSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/search/NoProjectSearchCriteria.java
deleted file mode 100644
index 850d6f58c83a882f9564311e2cbdcb7e24635ef7..0000000000000000000000000000000000000000
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/search/NoProjectSearchCriteria.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2015 ETH Zuerich, CISD
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package ch.ethz.sis.openbis.generic.asapi.v3.dto.project.search;
-
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria;
-import ch.systemsx.cisd.base.annotation.JsonObject;
-
-/**
- * @author pkupczyk
- */
-@JsonObject("as.dto.project.search.NoProjectSearchCriteria")
-public class NoProjectSearchCriteria implements ISearchCriteria
-{
-
-    private static final long serialVersionUID = 1L;
-
-    @Override
-    public String toString()
-    {
-        return "without project";
-    }
-
-}
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/Sample.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/Sample.java
index 6a06812beb4bbde23744094c2916ac6e179221c5..ae126352e8ed2876588d2465f4352c06d137b334 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/Sample.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/Sample.java
@@ -41,7 +41,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.Experiment;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.HistoryEntry;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.material.Material;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.Person;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.Project;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.fetchoptions.SampleFetchOptions;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SampleIdentifier;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SamplePermId;
@@ -54,8 +53,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject;
  * Class automatically generated with DtoGenerator
  */
 @JsonObject("as.dto.sample.Sample")
-public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, IModificationDateHolder, IModifierHolder,
-        IParentChildrenHolder<Sample>, IPermIdHolder, IPropertiesHolder, IRegistrationDateHolder, IRegistratorHolder, ISpaceHolder, ITagsHolder
+public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, IModificationDateHolder, IModifierHolder, IParentChildrenHolder<Sample>, IPermIdHolder, IPropertiesHolder, IRegistrationDateHolder, IRegistratorHolder, ISpaceHolder, ITagsHolder
 {
     private static final long serialVersionUID = 1L;
 
@@ -80,9 +78,6 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, IM
     @JsonProperty
     private SampleType type;
 
-    @JsonProperty
-    private Project project;
-
     @JsonProperty
     private Space space;
 
@@ -227,26 +222,6 @@ public class Sample implements Serializable, IAttachmentsHolder, ICodeHolder, IM
         this.type = type;
     }
 
-    // Method automatically generated with DtoGenerator
-    @JsonIgnore
-    public Project getProject()
-    {
-        if (getFetchOptions().hasProject())
-        {
-            return project;
-        }
-        else
-        {
-            throw new NotFetchedException("Project has not been fetched.");
-        }
-    }
-
-    // Method automatically generated with DtoGenerator
-    public void setProject(Project project)
-    {
-        this.project = project;
-    }
-
     // Method automatically generated with DtoGenerator
     @JsonIgnore
     @Override
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/create/SampleCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/create/SampleCreation.java
index eaf8b5323fac765c1805f53b9850833dcdf2a530..7d9d746120c04ea6897cbbb41347dec2120f7802 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/create/SampleCreation.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/create/SampleCreation.java
@@ -26,7 +26,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.CreationId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.ICreationIdHolder;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.IEntityTypeId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.IExperimentId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.IProjectId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.ISampleId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.ISpaceId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.tag.id.ITagId;
@@ -44,8 +43,6 @@ public class SampleCreation implements Serializable, ICreationIdHolder
 
     private IExperimentId experimentId;
 
-    private IProjectId projectId;
-
     private ISpaceId spaceId;
 
     private String code;
@@ -88,16 +85,6 @@ public class SampleCreation implements Serializable, ICreationIdHolder
         this.experimentId = experimentId;
     }
 
-    public IProjectId getProjectId()
-    {
-        return projectId;
-    }
-
-    public void setProjectId(IProjectId projectId)
-    {
-        this.projectId = projectId;
-    }
-
     public ISpaceId getSpaceId()
     {
         return spaceId;
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/fetchoptions/SampleFetchOptions.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/fetchoptions/SampleFetchOptions.java
index 2c8635cb83902cec927a2fe8648db76c847c798f..bae77fc7e790f9062b23726d3fc7c0ce7f369b3c 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/fetchoptions/SampleFetchOptions.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/fetchoptions/SampleFetchOptions.java
@@ -26,7 +26,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.fetchoptions.Experime
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.history.fetchoptions.HistoryEntryFetchOptions;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.material.fetchoptions.MaterialFetchOptions;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.fetchoptions.PersonFetchOptions;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.fetchoptions.ProjectFetchOptions;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.property.fetchoptions.PropertyFetchOptions;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.Sample;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.fetchoptions.SpaceFetchOptions;
@@ -44,9 +43,6 @@ public class SampleFetchOptions extends FetchOptions<Sample> implements Serializ
     @JsonProperty
     private SampleTypeFetchOptions type;
 
-    @JsonProperty
-    private ProjectFetchOptions project;
-
     @JsonProperty
     private SpaceFetchOptions space;
 
@@ -114,28 +110,6 @@ public class SampleFetchOptions extends FetchOptions<Sample> implements Serializ
         return type != null;
     }
 
-    // Method automatically generated with DtoGenerator
-    public ProjectFetchOptions withProject()
-    {
-        if (project == null)
-        {
-            project = new ProjectFetchOptions();
-        }
-        return project;
-    }
-
-    // Method automatically generated with DtoGenerator
-    public ProjectFetchOptions withProjectUsing(ProjectFetchOptions fetchOptions)
-    {
-        return project = fetchOptions;
-    }
-
-    // Method automatically generated with DtoGenerator
-    public boolean hasProject()
-    {
-        return project != null;
-    }
-
     // Method automatically generated with DtoGenerator
     public SpaceFetchOptions withSpace()
     {
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/id/SampleIdentifier.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/id/SampleIdentifier.java
index 37eef13b576d1ea3e28418ad761b395c757f313a..d4996f403fc5c40dd0290119fdb2d83613b3d6cd 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/id/SampleIdentifier.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/id/SampleIdentifier.java
@@ -40,15 +40,10 @@ public class SampleIdentifier extends ObjectIdentifier implements ISampleId
 
     public SampleIdentifier(String spaceCodeOrNull, String containerCodeOrNull, String sampleCode)
     {
-        this(spaceCodeOrNull, null, containerCodeOrNull, sampleCode);
+        this(createIdentifier(spaceCodeOrNull, containerCodeOrNull, sampleCode));
     }
 
-    public SampleIdentifier(String spaceCodeOrNull, String projectCodeOrNull, String containerCodeOrNull, String sampleCode)
-    {
-        this(createIdentifier(spaceCodeOrNull, projectCodeOrNull, containerCodeOrNull, sampleCode));
-    }
-
-    private static String createIdentifier(String spaceCodeOrNull, String projectCodeOrNull,
+    private static String createIdentifier(String spaceCodeOrNull, 
             String containerCodeOrNull, String sampleCode)
     {
         StringBuilder builder = new StringBuilder("/");
@@ -56,10 +51,6 @@ public class SampleIdentifier extends ObjectIdentifier implements ISampleId
         {
             builder.append(spaceCodeOrNull).append("/");
         }
-        if (projectCodeOrNull != null)
-        {
-            builder.append(projectCodeOrNull).append("/");
-        }
         if (containerCodeOrNull != null)
         {
             builder.append(containerCodeOrNull).append(":");
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/search/SampleSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/search/SampleSearchCriteria.java
index 06b7d4cea5ce262016011ebaad8aec5e431ef083..9d52a18e110ac222b90ab3c67ab7583bd539c225 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/search/SampleSearchCriteria.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/search/SampleSearchCriteria.java
@@ -21,8 +21,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchCriteriaToSt
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchOperator;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.search.ExperimentSearchCriteria;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.search.NoExperimentSearchCriteria;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.search.NoProjectSearchCriteria;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.search.ProjectSearchCriteria;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.ISampleId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.search.SpaceSearchCriteria;
 import ch.systemsx.cisd.base.annotation.JsonObject;
@@ -53,17 +51,6 @@ public class SampleSearchCriteria extends AbstractEntitySearchCriteria<ISampleId
         return with(new SpaceSearchCriteria());
     }
 
-    public ProjectSearchCriteria withProject()
-    {
-        return with(new ProjectSearchCriteria());
-    }
-
-    public SampleSearchCriteria withoutProject()
-    {
-        with(new NoProjectSearchCriteria());
-        return this;
-    }
-
     public ExperimentSearchCriteria withExperiment()
     {
         return with(new ExperimentSearchCriteria());
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/update/SampleUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/update/SampleUpdate.java
index a9a2be17c47ab6e33cb308b1af5abedd79e3ea41..1dafdb93f8ea6ac00a9cfcc0aa9d855cf1f37b5e 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/update/SampleUpdate.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/update/SampleUpdate.java
@@ -29,7 +29,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IdListUpdateValue;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue.ListUpdateAction;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.IExperimentId;
-import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.IProjectId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.ISampleId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.ISpaceId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.tag.id.ITagId;
@@ -49,9 +48,6 @@ public class SampleUpdate implements Serializable
     @JsonProperty
     private FieldUpdateValue<IExperimentId> experimentId = new FieldUpdateValue<IExperimentId>();
 
-    @JsonProperty
-    private FieldUpdateValue<IProjectId> projectId = new FieldUpdateValue<IProjectId>();
-
     @JsonProperty
     private FieldUpdateValue<ISpaceId> spaceId = new FieldUpdateValue<ISpaceId>();
 
@@ -100,18 +96,6 @@ public class SampleUpdate implements Serializable
         this.experimentId.setValue(experimentId);
     }
 
-    @JsonIgnore
-    public FieldUpdateValue<IProjectId> getProjectId()
-    {
-        return projectId;
-    }
-
-    @JsonIgnore
-    public void setProjectId(IProjectId projectId)
-    {
-        this.projectId.setValue(projectId);
-    }
-
     @JsonIgnore
     public FieldUpdateValue<ISpaceId> getSpaceId()
     {