diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java
index 08221de814b2b2a0198916133362c7d5fb9dab3e..24cf50232ef24ef99e4bded3753ba9aff5ea205e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java
@@ -61,7 +61,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Grantee;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomColumn;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomFilter;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Group;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IGroupUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IPropertyTypeUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IVocabularyTermUpdates;
@@ -796,7 +796,7 @@ public interface ICommonClientService extends IClientService
     /**
      * Updates grid custom filter.
      */
-    public void updateFilter(final IFilterOrColumnUpdates updates) throws UserFailureException;
+    public void updateFilter(final IExpressionUpdates updates) throws UserFailureException;
 
     // -- custom grid columns
 
@@ -829,7 +829,7 @@ public interface ICommonClientService extends IClientService
     /**
      * Updates grid custom column.
      */
-    public void updateColumn(IFilterOrColumnUpdates updates) throws UserFailureException;
+    public void updateColumn(IExpressionUpdates updates) throws UserFailureException;
 
     /** Deletes the specified materials. */
     public void deleteMaterials(DisplayedOrSelectedIdHolderCriteria<Material> criteria,
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java
index 4c11498f03a084597b6aca86bbec00fd797a485d..818005f39512c82814e83d294bc171444070c8ad 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java
@@ -63,7 +63,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Grantee;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomColumn;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomFilter;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Group;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IGroupUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IPropertyTypeUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IVocabularyTermUpdates;
@@ -702,8 +702,8 @@ public interface ICommonClientServiceAsync extends IClientServiceAsync
     /** @see ICommonClientService#deleteFilters(List) */
     public void deleteFilters(List<TechId> filterIds, AsyncCallback<Void> asyncCallback);
 
-    /** @see ICommonClientService#updateFilter(IFilterOrColumnUpdates) */
-    public void updateFilter(IFilterOrColumnUpdates updates,
+    /** @see ICommonClientService#updateFilter(IExpressionUpdates) */
+    public void updateFilter(IExpressionUpdates updates,
             AsyncCallback<Void> registrationCallback);
 
     // -- custom grid columns
@@ -732,8 +732,8 @@ public interface ICommonClientServiceAsync extends IClientServiceAsync
     /** @see ICommonClientService#deleteColumns(List) */
     public void deleteColumns(List<TechId> columnIds, AsyncCallback<Void> asyncCallback);
 
-    /** @see ICommonClientService#updateColumn(IFilterOrColumnUpdates) */
-    public void updateColumn(IFilterOrColumnUpdates updates,
+    /** @see ICommonClientService#updateColumn(IExpressionUpdates) */
+    public void updateColumn(IExpressionUpdates updates,
             AsyncCallback<Void> registrationCallback);
 
     /** @see ICommonClientService#deleteMaterials(DisplayedOrSelectedIdHolderCriteria, String) */
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/report/ReportGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/report/ReportGrid.java
index e8f8528218ca934b3e4828a1be65c2eb6110dd1a..116e8cffcd655588574634ad6e2a2dcdade4a90b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/report/ReportGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/report/ReportGrid.java
@@ -80,7 +80,7 @@ public class ReportGrid extends AbstractBrowserGrid<TableModelRow, BaseEntityMod
     public static class ReportColumnUI extends DataSetReportColumnDefinition implements
             IColumnDefinitionUI<TableModelRow>
     {
-        private final boolean isHidden;
+        private boolean isHidden;
 
         public ReportColumnUI(TableModelColumnHeader columnHeader, String downloadURL,
                 String sessionID, boolean isHidden)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java
index ebcb797878ef6586eadb693483ee7d5b96308d2c..808dedcf92e28456d91f11169c688f77efd0c941 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java
@@ -102,7 +102,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Grantee;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomColumn;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomFilter;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Group;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IGroupUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IPropertyTypeUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IVocabularyTermUpdates;
@@ -2222,7 +2222,7 @@ public final class CommonClientService extends AbstractClientService implements
         }
     }
 
-    public final void updateFilter(final IFilterOrColumnUpdates updates)
+    public final void updateFilter(final IExpressionUpdates updates)
             throws ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureException
     {
         assert updates != null : "Unspecified updates.";
@@ -2295,7 +2295,7 @@ public final class CommonClientService extends AbstractClientService implements
 
     }
 
-    public void updateColumn(IFilterOrColumnUpdates updates)
+    public void updateColumn(IExpressionUpdates updates)
             throws ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureException
     {
         assert updates != null : "Unspecified grid custom updates.";
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java
index 044274c428c2ed65c4113cf0a4c0db4d9ae63a3c..b77fb2f8edc6ea6033d640bf294f7ddd4f81875e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java
@@ -94,7 +94,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.FileFormatType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Grantee;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomFilter;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Group;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IGroupUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IPropertyTypeUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IVocabularyTermUpdates;
@@ -1758,7 +1758,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServer> impl
         deleteFiltersOrColumns(filterIds, bo);
     }
 
-    public void updateFilter(String sessionToken, IFilterOrColumnUpdates updates)
+    public void updateFilter(String sessionToken, IExpressionUpdates updates)
     {
         assert updates != null : "Unspecified updates";
         createGridCustomFilterBO(sessionToken).update(updates);
@@ -1778,7 +1778,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServer> impl
         deleteFiltersOrColumns(columnIds, bo);
     }
 
-    public void updateGridCustomColumn(String sessionToken, IFilterOrColumnUpdates updates)
+    public void updateGridCustomColumn(String sessionToken, IExpressionUpdates updates)
     {
         assert updates != null : "Unspecified updates";
         createGridCustomColumnBO(sessionToken).update(updates);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java
index 424cd88428fb2e44d6e9a49825ac42295dc353e0..b71ec5348717f1a447b192dbd61cf9103f9d6c9c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java
@@ -50,7 +50,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.FileFormatType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Grantee;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomFilter;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Group;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IGroupUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IPropertyTypeUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IVocabularyTermUpdates;
@@ -780,7 +780,7 @@ final class CommonServerLogger extends AbstractServerLogger implements ICommonSe
                 .toArray(new TechId[0]), ","));
     }
 
-    public void updateFilter(String sessionToken, IFilterOrColumnUpdates updates)
+    public void updateFilter(String sessionToken, IExpressionUpdates updates)
     {
         logTracking(sessionToken, "updateFilters", "ID(%s) NAME(%s)", updates.getId(), updates
                 .getName());
@@ -799,7 +799,7 @@ final class CommonServerLogger extends AbstractServerLogger implements ICommonSe
                 columnIds.toArray(new TechId[0]), ","));
     }
 
-    public void updateGridCustomColumn(String sessionToken, IFilterOrColumnUpdates updates)
+    public void updateGridCustomColumn(String sessionToken, IExpressionUpdates updates)
     {
         logTracking(sessionToken, "updateGridCustomColumn", "ID(%s) NAME(%s)", updates.getId(),
                 updates.getName());
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomColumnBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomColumnBO.java
index 5d8d16e34d1f1418ba71c011aeeb6bd4ea660dad..4255b885b92898b1cc63ce4a81ce263669297944 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomColumnBO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomColumnBO.java
@@ -26,7 +26,7 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.shared.basic.ExpressionUtil;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewColumnOrFilter;
 import ch.systemsx.cisd.openbis.generic.shared.dto.GridCustomColumnPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
@@ -105,7 +105,7 @@ public class GridCustomColumnBO extends AbstractBusinessObject implements
         }
     }
 
-    public void update(IFilterOrColumnUpdates updates)
+    public void update(IExpressionUpdates updates)
     {
         loadDataByTechId(TechId.create(updates));
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomFilterBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomFilterBO.java
index d2e8623963544d39438eed0ae52a376f98d9b987..41379fd1da416c4bea39210b779595d66632fa10 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomFilterBO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomFilterBO.java
@@ -22,7 +22,7 @@ import org.springframework.dao.DataRetrievalFailureException;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewColumnOrFilter;
 import ch.systemsx.cisd.openbis.generic.shared.dto.GridCustomFilterPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
@@ -89,7 +89,7 @@ public class GridCustomFilterBO extends AbstractBusinessObject implements
         }
     }
 
-    public void update(IFilterOrColumnUpdates updates)
+    public void update(IExpressionUpdates updates)
     {
         loadDataByTechId(TechId.create(updates));
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IGridCustomFilterOrColumnBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IGridCustomFilterOrColumnBO.java
index 02f6c1a09d2f170c1c70c8eb3376bf087899f5b1..e88c28b9a5c66bb0cc70af78dcb753a1db4af38f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IGridCustomFilterOrColumnBO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IGridCustomFilterOrColumnBO.java
@@ -18,7 +18,7 @@ package ch.systemsx.cisd.openbis.generic.server.business.bo;
 
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewColumnOrFilter;
 import ch.systemsx.cisd.openbis.generic.shared.dto.GridCustomFilterPE;
 
@@ -48,6 +48,6 @@ public interface IGridCustomFilterOrColumnBO extends IEntityBusinessObject
     /**
      * Updates the grid custom filter or column.
      */
-    public void update(IFilterOrColumnUpdates updates);
+    public void update(IExpressionUpdates updates);
 
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java
index b76e712096b2ffe7b01cc5e35e5783855600409e..2901cf44404745ea5710c7fa40e2a13e8ab5dfe1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java
@@ -70,7 +70,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Grantee;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomColumn;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomFilter;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Group;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IGroupUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IPropertyTypeUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IVocabularyTermUpdates;
@@ -961,7 +961,7 @@ public interface ICommonServer extends IServer
     @DatabaseUpdateModification(value = ObjectKind.GRID_CUSTOM_FILTER)
     public void updateFilter(
             String sessionToken,
-            @AuthorizationGuard(guardClass = UpdateGridCustomFilterPredicate.class) IFilterOrColumnUpdates updates);
+            @AuthorizationGuard(guardClass = UpdateGridCustomFilterPredicate.class) IExpressionUpdates updates);
 
     // columns
 
@@ -999,7 +999,7 @@ public interface ICommonServer extends IServer
     @DatabaseUpdateModification(value = ObjectKind.GRID_CUSTOM_COLUMN)
     public void updateGridCustomColumn(
             String sessionToken,
-            @AuthorizationGuard(guardClass = UpdateGridCustomColumnPredicate.class) IFilterOrColumnUpdates updates);
+            @AuthorizationGuard(guardClass = UpdateGridCustomColumnPredicate.class) IExpressionUpdates updates);
 
     /**
      * Updates vocabulary terms.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractExpressionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractExpressionPredicate.java
index a0257c3370ed68c14eb3ba54591c265b2f7510ea..40e99013b4295250f18e8c15e9e495af6dbd8d86 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractExpressionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractExpressionPredicate.java
@@ -23,7 +23,7 @@ import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
 import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.dto.AbstractExpressionPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.AbstractGridExpressionPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
@@ -33,7 +33,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.RoleAssignmentPE;
 /**
  * An <code>IPredicate</code> implementation based on {@link AbstractGridExpressionPE} of a grid
  * custom filter or column. Public internal class provide predicates for deletions based on
- * {@link TechId} and updates base on {@link IFilterOrColumnUpdates}.
+ * {@link TechId} and updates base on {@link IExpressionUpdates}.
  * 
  * @author Piotr Buczek
  * @author Tomasz Pylak
@@ -73,7 +73,7 @@ abstract public class AbstractExpressionPredicate<T> extends AbstractPredicate<T
     }
 
     public static class UpdateGridCustomFilterPredicate extends
-            AbstractExpressionPredicate<IFilterOrColumnUpdates>
+            AbstractExpressionPredicate<IExpressionUpdates>
     {
         public UpdateGridCustomFilterPredicate()
         {
@@ -81,7 +81,7 @@ abstract public class AbstractExpressionPredicate<T> extends AbstractPredicate<T
         }
 
         @Override
-        public AbstractExpressionPE<?> convert(IFilterOrColumnUpdates criteria)
+        public AbstractExpressionPE<?> convert(IExpressionUpdates criteria)
         {
             TechId techId = TechId.create(criteria);
             return authorizationDataProvider.getGridCustomFilter(techId);
@@ -89,7 +89,7 @@ abstract public class AbstractExpressionPredicate<T> extends AbstractPredicate<T
     }
 
     public static class UpdateGridCustomColumnPredicate extends
-            AbstractExpressionPredicate<IFilterOrColumnUpdates>
+            AbstractExpressionPredicate<IExpressionUpdates>
     {
         public UpdateGridCustomColumnPredicate()
         {
@@ -97,7 +97,7 @@ abstract public class AbstractExpressionPredicate<T> extends AbstractPredicate<T
         }
 
         @Override
-        public AbstractExpressionPE<?> convert(IFilterOrColumnUpdates criteria)
+        public AbstractExpressionPE<?> convert(IExpressionUpdates criteria)
         {
             TechId techId = TechId.create(criteria);
             return authorizationDataProvider.getGridCustomColumn(techId);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractExpression.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractExpression.java
index 77407e1f7b3e8debb806fbb81b6e13939e2ed2a5..2db7999c9ff93552e2bce3c589e2aba7e326a8d4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractExpression.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractExpression.java
@@ -29,7 +29,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder;
  * @author Izabela Adamczyk
  */
 public abstract class AbstractExpression extends AbstractRegistrationHolder implements
-        IsSerializable, Serializable, IIdHolder, IFilterOrColumnUpdates
+        IsSerializable, Serializable, IIdHolder, IExpressionUpdates
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatabaseModificationKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatabaseModificationKind.java
index d97360883582186e3bdf12eb240c819827d5ed8e..da786e63833fb76943d7b6d5987d161a0dc5d361 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatabaseModificationKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatabaseModificationKind.java
@@ -36,7 +36,9 @@ public class DatabaseModificationKind implements IsSerializable
         AUTHORIZATION_GROUP, SAMPLE, EXPERIMENT, MATERIAL, DATA_SET, SAMPLE_TYPE, EXPERIMENT_TYPE,
         MATERIAL_TYPE, DATASET_TYPE, FILE_FORMAT_TYPE, PROJECT, GROUP, PROPERTY_TYPE,
         PROPERTY_TYPE_ASSIGNMENT, VOCABULARY, VOCABULARY_TERM, ROLE_ASSIGNMENT, PERSON,
-        GRID_CUSTOM_FILTER, GRID_CUSTOM_COLUMN
+        GRID_CUSTOM_FILTER, GRID_CUSTOM_COLUMN,
+        // FIXME no easy way to extend current modification notification solution in modules
+        QUERY
     }
 
     public enum OperationKind implements IsSerializable
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IFilterOrColumnUpdates.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IExpressionUpdates.java
similarity index 82%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IFilterOrColumnUpdates.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IExpressionUpdates.java
index 4f9f0c8f5a34e526de0ee05226131c1178a8f95a..b9108737dae8afa777ef1ccf052ca12527ec5cbb 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IFilterOrColumnUpdates.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IExpressionUpdates.java
@@ -21,11 +21,12 @@ import com.google.gwt.user.client.rpc.IsSerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder;
 
 /**
- * Description of the updates which should be performed on a grid custom filter or column.
+ * Description of the updates which should be performed on a stored expression (e.g. grid custom
+ * filter or column expression).
  * 
  * @author Piotr Buczek
  */
-public interface IFilterOrColumnUpdates extends IIdHolder, IsSerializable
+public interface IExpressionUpdates extends IIdHolder, IsSerializable
 {
     String getDescription();
 
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomFilterBOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomFilterBOTest.java
index 6c1386ac760998d7da2c04de67208446abd1cc1e..78e4af45abb120f79ae5cf5f2066fb552b65ba0e 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomFilterBOTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/GridCustomFilterBOTest.java
@@ -23,7 +23,7 @@ import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomFilter;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.dto.GridCustomFilterPE;
 
 /**
@@ -48,7 +48,7 @@ public class GridCustomFilterBOTest extends AbstractBOTest
     public void testUpdate()
     {
         final GridCustomFilterPE filter = createFilter();
-        final IFilterOrColumnUpdates updates = createFilterUpdates(filter);
+        final IExpressionUpdates updates = createFilterUpdates(filter);
         context.checking(new Expectations()
             {
                 {
@@ -82,7 +82,7 @@ public class GridCustomFilterBOTest extends AbstractBOTest
         return filter;
     }
 
-    private IFilterOrColumnUpdates createFilterUpdates(final GridCustomFilterPE filter)
+    private IExpressionUpdates createFilterUpdates(final GridCustomFilterPE filter)
     {
         final GridCustomFilter updates = new GridCustomFilter();
         updates.setId(filter.getId());
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected
index b76e712096b2ffe7b01cc5e35e5783855600409e..2901cf44404745ea5710c7fa40e2a13e8ab5dfe1 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected
@@ -70,7 +70,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Grantee;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomColumn;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomFilter;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Group;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IFilterOrColumnUpdates;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IGroupUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IPropertyTypeUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IVocabularyTermUpdates;
@@ -961,7 +961,7 @@ public interface ICommonServer extends IServer
     @DatabaseUpdateModification(value = ObjectKind.GRID_CUSTOM_FILTER)
     public void updateFilter(
             String sessionToken,
-            @AuthorizationGuard(guardClass = UpdateGridCustomFilterPredicate.class) IFilterOrColumnUpdates updates);
+            @AuthorizationGuard(guardClass = UpdateGridCustomFilterPredicate.class) IExpressionUpdates updates);
 
     // columns
 
@@ -999,7 +999,7 @@ public interface ICommonServer extends IServer
     @DatabaseUpdateModification(value = ObjectKind.GRID_CUSTOM_COLUMN)
     public void updateGridCustomColumn(
             String sessionToken,
-            @AuthorizationGuard(guardClass = UpdateGridCustomColumnPredicate.class) IFilterOrColumnUpdates updates);
+            @AuthorizationGuard(guardClass = UpdateGridCustomColumnPredicate.class) IExpressionUpdates updates);
 
     /**
      * Updates vocabulary terms.