diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/IOpenbisServiceFacade.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/IOpenbisServiceFacade.java
index bf7e9dc253cc73c59995410892a2afba5f987fa1..1ed2f8518addf840065ca878f740a17029da54d3 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/IOpenbisServiceFacade.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/IOpenbisServiceFacade.java
@@ -28,6 +28,7 @@ import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.NewVocabularyTerm;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Sample;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SampleFetchOption;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria;
+import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.WebAppSettings;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary;
 
@@ -45,6 +46,19 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary;
 public interface IOpenbisServiceFacade extends ISimpleOpenbisServiceFacade
 {
 
+    /**
+     * Returns the persistent settings for a given custom web app.
+     * 
+     * @param webAppId The id of the custom web app to get the display settings for.
+     */
+    public WebAppSettings getWebAppSettings(String webAppId);
+    
+    /**
+     * Sets the persistent settings for a given custom web app.
+     * @param customDisplaySettings The new display settings
+     */
+    public void setWebAppSettings(WebAppSettings customDisplaySettings);
+
     /**
      * Return all samples that match the search criteria.
      * This is a short cut for
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/OpenbisServiceFacade.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/OpenbisServiceFacade.java
index 9741a72b96f9638192278a8d59a04e67f3c960e9..1f04e6d1174040e4f94e169e843e62bdb3f972b6 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/OpenbisServiceFacade.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/v1/impl/OpenbisServiceFacade.java
@@ -55,6 +55,7 @@ import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria.MatchCl
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria.SearchOperator;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchSubCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SpaceWithProjectsAndRoleAssignments;
+import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.WebAppSettings;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier;
@@ -172,16 +173,16 @@ public class OpenbisServiceFacade implements IOpenbisServiceFacade
     private final IGeneralInformationChangingService changingService;
 
     private final IDssComponent dssComponent;
+    
+    private final int minorVersionChangingService;
 
-    /**
-     * ctor.
-     */
     public OpenbisServiceFacade(String sessionToken, IGeneralInformationService service,
             IGeneralInformationChangingService changingService, IDssComponent dssComponent)
     {
         this.sessionToken = sessionToken;
         this.service = service;
         this.changingService = changingService;
+        this.minorVersionChangingService = changingService.getMinorVersion();
         this.dssComponent = dssComponent;
     }
 
@@ -521,6 +522,28 @@ public class OpenbisServiceFacade implements IOpenbisServiceFacade
     //
     // IOpenbisServiceFacade
     //
+
+    @Override
+    public WebAppSettings getWebAppSettings(String webAppId)
+    {
+        if (minorVersionChangingService >= 2)
+        {
+            return changingService.getWebAppSettings(sessionToken, webAppId);
+        } else
+        {
+            return new WebAppSettings(webAppId, new HashMap<String, String>());
+        }
+    }
+
+    @Override
+    public void setWebAppSettings(WebAppSettings customDisplaySettings)
+    {
+        if (minorVersionChangingService >= 2)
+        {
+            changingService.setWebAppSettings(sessionToken, customDisplaySettings);
+        }
+    }
+
     @Override
     public List<Sample> searchForSamples(SearchCriteria searchCriteria)
     {