diff --git a/openbis/etc/web-client.properties b/openbis/etc/web-client.properties
index 56e30802c25fd13539c89075b3b03ea3facea311..72b46e0a527b56a1399773f6d489cb25afcec048 100644
--- a/openbis/etc/web-client.properties
+++ b/openbis/etc/web-client.properties
@@ -25,18 +25,18 @@
 #
 # Example:
 # 
-#detail-views = sample-view, experiment-view, data-view  
+detail-views = sample-view, experiment-view, data-view  
 
-#sample-view.view = generic_sample_viewer
-#sample-view.types = CELL_PLATE, CONTROL_LAYOUT
-#sample-view.hide-sections = attachment-section, container-sample-section, derived-samples-section 
+sample-view.view = generic_sample_viewer
+sample-view.types = CELL_PLATE, CONTROL_LAYOUT
+sample-view.hide-sections = attachment-section, container-sample-section, derived-samples-section 
 
-#experiment-view.view = generic_sample_viewer
-#experiment-view.types = SIRNA_HCS
-#experiment-view.hide-sections = attachment-section
+experiment-view.view = generic_sample_viewer
+experiment-view.types = SIRNA_HCS
+experiment-view.hide-sections = attachment-section
 
-#data-view.view = generic-dataset-viewer
-#data-view.types = HCS_IMAGE
-#data-view.hide-smart-view = true
-#data-view.hide-file-view = false
+data-view.view = generic-dataset-viewer
+data-view.types = HCS_IMAGE
+data-view.hide-smart-view = true
+data-view.hide-file-view = false
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/TabContent.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/TabContent.java
index 91fb45ebce81d867bc888dbe9e46718f7f95e121..0a16bce05df49df2db7456fb9b41bd69620daf69 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/TabContent.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/TabContent.java
@@ -49,6 +49,8 @@ abstract public class TabContent extends ContentPanel
      */
     private boolean autoDisposeComponents = true;
 
+    private String parentDisplayID;
+
     public TabContent(final String header, IViewContext<?> viewContext)
     {
         this.viewContext = viewContext;
@@ -60,6 +62,16 @@ abstract public class TabContent extends ContentPanel
         setLayout(new FitLayout());
     }
 
+    public String getParentDisplayID()
+    {
+        return parentDisplayID;
+    }
+
+    public void setParentDisplayID(String parentDisplayID)
+    {
+        this.parentDisplayID = parentDisplayID;
+    }
+
     public void setDisplayID(IDisplayTypeIDGenerator generator)
     {
         this.displayId = generator.createID();
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java
index 9cd0a3914ac99a4ca5708417b3405de4748e9dbe..e91e651a5009c34c14f073b04f4789aeede7c5ca 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java
@@ -121,9 +121,10 @@ public class SectionsPanel extends LayoutContainer
     {
         DetailViewConfiguration viewSettingsOrNull =
                 viewContext.getDisplaySettingsManager().tryGetDetailViewSettings(getDisplayID());
+        String panelDisplayId = panel.getDisplayID().toUpperCase();
         if (viewSettingsOrNull != null
                 && viewSettingsOrNull.getDisabledTabs()
-                        .contains(panel.getDisplayID().toUpperCase()))
+                        .contains(panelDisplayId))
         {
             return;
         }
@@ -133,6 +134,7 @@ public class SectionsPanel extends LayoutContainer
         panel.disableAutoDisposeComponents();
         elements.add(element);
         addToToolbar(element);
+        panel.setParentDisplayID(getDisplayID());
     }
 
     @Override
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataViewSection.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataViewSection.java
index 0bcd3847feb112a7309ee881c8b1d84a3541b1ba..c22229b22775bdcfc9c770d30044600b243c540e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataViewSection.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/dataset/DataViewSection.java
@@ -46,6 +46,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DisplayedOrSelecte
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStoreServiceKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatastoreServiceDescription;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DetailViewConfiguration;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
 
 /**
@@ -89,8 +90,19 @@ public class DataViewSection extends TabContent
     @Override
     protected void showContent()
     {
+        boolean hideFileView = false;
+        boolean hideSmartView = false;
+        DetailViewConfiguration viewSettingsOrNull =
+                viewContext.getDisplaySettingsManager().tryGetDetailViewSettings(
+                        getParentDisplayID());
+        if (viewSettingsOrNull != null)
+        {
+            hideFileView = viewSettingsOrNull.isHideFileView();
+            hideSmartView = viewSettingsOrNull.isHideSmartView();
+        }
         final DatastoreServiceSelectionWidget serviceSelectionWidget =
-                new DatastoreServiceSelectionWidget(viewContext, dataset);
+                new DatastoreServiceSelectionWidget(viewContext, dataset, hideFileView,
+                        hideSmartView);
         getHeader().addTool(new LabelToolItem(serviceSelectionWidget.getFieldLabel() + ":&nbsp;"));
         getHeader().addTool(serviceSelectionWidget);
         serviceSelectionWidget.addSelectionChangedListener(createServiceSelectionChangedListener());
@@ -203,13 +215,19 @@ public class DataViewSection extends TabContent
 
         private DatastoreServiceDescriptionModel defaultModel;
 
+        private final boolean hideFileView;
+
+        private final boolean hideSmartView;
+
         public DatastoreServiceSelectionWidget(final IViewContext<?> viewContext,
-                final ExternalData dataset)
+                final ExternalData dataset, boolean hideFileView, boolean hideSmartView)
         {
             super(viewContext, ("data-set_" + dataset.getCode() + "_viewer"), Dict.BUTTON_SHOW,
                     ModelDataPropertyNames.LABEL, "viewer", "viewers");
             this.viewContext = viewContext;
             this.dataset = dataset;
+            this.hideFileView = hideFileView;
+            this.hideSmartView = hideSmartView;
             if (dataset.getStatus().isAvailable())
             {
                 addPostRefreshCallback(createDefaultServiceSelectionAction());
@@ -251,8 +269,14 @@ public class DataViewSection extends TabContent
         {
             List<DatastoreServiceDescriptionModel> models =
                     DatastoreServiceDescriptionModel.convert(result, dataset);
-            models.add(0, defaultModel = createFilesServiceDescription(FILES_SMART_VIEW));
-            models.add(1, createFilesServiceDescription(FILES_HOME_VIEW));
+            if (hideFileView == false)
+            {
+                models.add(0, createFilesServiceDescription(FILES_HOME_VIEW));
+            }
+            if (hideSmartView == false)
+            {
+                models.add(0, defaultModel = createFilesServiceDescription(FILES_SMART_VIEW));
+            }
             return models;
         }
 
diff --git a/screening/etc/web-client.properties b/screening/etc/web-client.properties
new file mode 100644
index 0000000000000000000000000000000000000000..68a1de8c85fbb1920f619d95bb1dae9e067d4789
--- /dev/null
+++ b/screening/etc/web-client.properties
@@ -0,0 +1,42 @@
+# Configuration of entity (experiment, sample, data set, material) detail views.
+#
+# Mandatory properties: 
+#   - view (entity detail view id) 
+#   - types (list of entity type codes)
+# Optional properties: 
+#   - hide-sections (list of section ids)
+#   - hide-smart-view (removes "Smart View" from Data Set Detail View -> Data View) (generic_dataset_viewer)
+#   - hide-file-view (removes "File View" from Data Set Detail View -> Data View) (generic_dataset_viewer)
+# Available entity-detail-views:
+#   generic_dataset_viewer
+#   generic_experiment_viewer
+#   generic_sample_viewer
+#   generic_material_viewer
+# Available sections:
+#   attachment-section
+#   container-sample-section
+#   derived-samples-section
+#   parent-samples-section
+#   data-set-section
+#   data-set-parents-section
+#   data-set-children-section
+#   data-set-data-section
+#   module-section
+#
+# Example:
+# 
+detail-views = sample-view, experiment-view, data-view  
+
+sample-view.view = generic_sample_viewer
+sample-view.types = PLATE
+sample-view.hide-sections = 
+
+experiment-view.view = generic_sample_viewer
+experiment-view.types = SIRNA_HCS
+experiment-view.hide-sections = attachment-section
+
+data-view.view = generic_dataset_viewer
+data-view.types = HCS_IMAGE
+data-view.hide-smart-view = true
+data-view.hide-file-view = true
+
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/DisplayTypeIDGenerator.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/DisplayTypeIDGenerator.java
index 05e2c019822bed99d95975da68c73be79e087958..565f57fd6a901f4f823f666acac9c4b35c778bfe 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/DisplayTypeIDGenerator.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/DisplayTypeIDGenerator.java
@@ -25,7 +25,15 @@ public enum DisplayTypeIDGenerator implements IDisplayTypeIDGenerator
 {
     PLATE_MATERIAL_REVIEWER("plate-material-reviewer"),
 
-    PLATE_MATERIAL_BROWSER("plate-material-browser")
+    PLATE_LAYOUT_SAMPLE_SECTION("plate-layout-sample-section"),
+
+    PLATE_LAYOUT_DATASET_SECTION("plate-layout-dataset-section"),
+
+    PLATE_LOCATIONS_MATERIAL_SECTION("plate-locations-material-section"),
+
+    EXPERIMENT_PLATE_LOCATIONS_SECTION("plate-locations-experiment-section"),
+
+    EXPERIMENT_WELL_MATERIALS_SECTION("experiment-well-materials-section"),
 
     ;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java
index f000886801cd12befea6e73392dead5ce0f3d00b..5d234deb06410063f389f662a20aebb87e7ae52f 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentPlateLocationsSection.java
@@ -66,7 +66,7 @@ public class ExperimentPlateLocationsSection extends TabContent
                 new CheckBoxField(screeningViewContext.getMessage(Dict.EXACT_MATCH_ONLY), false);
         exactMatchOnly.setBoxLabel(screeningViewContext.getMessage(Dict.EXACT_MATCH_ONLY));
         exactMatchOnly.setValue(true);
-        setDisplayID(DisplayTypeIDGenerator.PLATE_MATERIAL_REVIEWER);
+        setDisplayID(DisplayTypeIDGenerator.EXPERIMENT_PLATE_LOCATIONS_SECTION);
         screeningViewContext.getCommonService().listMaterialTypes(
                 new AbstractAsyncCallback<List<MaterialType>>(screeningViewContext)
                     {
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java
index d47566f1bdaa3262e4cb1c06a99fa468aa83cefd..7b6bbd36aaa3114fdea73f95054ad3822e7502ca 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java
@@ -15,7 +15,6 @@ import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.D
  */
 public class ExperimentWellMaterialsSection extends DisposableTabContent
 {
-    public static final String ID_SUFFIX = "ExperimentWellMaterialsSection";
 
     private final IViewContext<IScreeningClientServiceAsync> screeningViewContext;
 
@@ -29,7 +28,7 @@ public class ExperimentWellMaterialsSection extends DisposableTabContent
                 screeningViewContext);
         this.screeningViewContext = screeningViewContext;
         this.experiment = experiment;
-        setDisplayID(DisplayTypeIDGenerator.PLATE_MATERIAL_BROWSER);
+        setDisplayID(DisplayTypeIDGenerator.EXPERIMENT_WELL_MATERIALS_SECTION);
     }
 
     @Override
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java
index d31b32d34b6b87b7ca4770bfe11a2e2e347186dd..d64a06cde0a9697f8b85c203a0cad9e15cdcbeef 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutDatasetSection.java
@@ -25,10 +25,10 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.TabContent;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DisplayTypeIDGenerator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.Dict;
+import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.DisplayTypeIDGenerator;
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.ScreeningViewContext;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateImages;
 
@@ -51,7 +51,7 @@ public class PlateLayoutDatasetSection extends TabContent
         super("Plate Layout", viewContext);
         this.viewContext = viewContext;
         this.datasetId = datasetId;
-        setDisplayID(DisplayTypeIDGenerator.CONTAINER_SAMPLES_SECTION);
+        setDisplayID(DisplayTypeIDGenerator.PLATE_LAYOUT_DATASET_SECTION);
     }
 
     @Override
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java
index 50f08894f8159251af6e7c3031beb5f0dc116380..881462d29459b728f540ad88e1fb9f7e78db97dd 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLayoutSampleSection.java
@@ -31,12 +31,12 @@ import com.google.gwt.user.client.ui.Widget;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.TabContent;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DisplayTypeIDGenerator;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.data.DataSetReportGenerator;
 import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DisplayedOrSelectedDatasetCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatastoreServiceDescription;
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.Dict;
+import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.DisplayTypeIDGenerator;
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.ScreeningViewContext;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.DatasetReference;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateContent;
@@ -50,7 +50,6 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConst
  */
 public class PlateLayoutSampleSection extends TabContent
 {
-    public static final String ID_SUFFIX = "PlateLayoutSection";
 
     private final ScreeningViewContext viewContext;
 
@@ -61,7 +60,7 @@ public class PlateLayoutSampleSection extends TabContent
         super("Plate Layout", viewContext);
         this.viewContext = viewContext;
         this.sampleId = sampleId;
-        setDisplayID(DisplayTypeIDGenerator.CONTAINER_SAMPLES_SECTION);
+        setDisplayID(DisplayTypeIDGenerator.PLATE_LAYOUT_SAMPLE_SECTION);
     }
 
     @Override
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLocationsMaterialSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLocationsMaterialSection.java
index 5eaf6ba06ec84909d2f05d52c05e8f3aa204616d..d0f8b29df390ec55453d2001efc2058402888410 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLocationsMaterialSection.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/PlateLocationsMaterialSection.java
@@ -2,10 +2,10 @@ package ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.TabContent;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DisplayTypeIDGenerator;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.IScreeningClientServiceAsync;
+import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.DisplayTypeIDGenerator;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateMaterialsSearchCriteria.ExperimentSearchCriteria;
 
 /**
@@ -32,7 +32,7 @@ class PlateLocationsMaterialSection extends TabContent
         this.reviewer =
                 PlateMaterialReviewer.create(screeningViewContext, experimentCriteriaOrNull,
                         materialId);
-        setDisplayID(DisplayTypeIDGenerator.CONTAINER_SAMPLES_SECTION);
+        setDisplayID(DisplayTypeIDGenerator.PLATE_LOCATIONS_MATERIAL_SECTION);
     }
 
     @Override
diff --git a/screening/source/java/service.properties b/screening/source/java/service.properties
index 699cb58d957641af68722367c1a2cc80e4ab8774..71c7e68f196af6be736830ca72637c8f3b009b10 100644
--- a/screening/source/java/service.properties
+++ b/screening/source/java/service.properties
@@ -16,6 +16,7 @@ database.create-from-scratch = false
 database.script-single-step-mode = false
 database.url-host-part =
 database.kind = screening_demo
+#database.kind = lmc_mig
 database.owner =
 database.owner-password = 
 database.admin-user = 
@@ -60,4 +61,7 @@ hibernate.search.index-mode = NO_INDEX
 # Default is 1000.
 hibernate.search.batch-size = 1000
 # If 'async', the update of indices will be done in a separate thread.
-hibernate.search.worker.execution=async
\ No newline at end of file
+hibernate.search.worker.execution=async
+
+# Name of the file that stores Web Client configuration
+web-client-configuration-file = etc/web-client.properties
\ No newline at end of file