diff --git a/product/ERP5/bootstrap/erp5_core/ActionTemplateItem/portal_types/Category%20Acquired%20Membership%20State%20Constraint/predicate.xml b/product/ERP5/bootstrap/erp5_core/ActionTemplateItem/portal_types/Category%20Acquired%20Membership%20State%20Constraint/predicate.xml
new file mode 100644
index 0000000000000000000000000000000000000000..784dbba036d46d802380d27799f0f40557e8620b
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_core/ActionTemplateItem/portal_types/Category%20Acquired%20Membership%20State%20Constraint/predicate.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>is_indexable</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>reindex_kw</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>predicate</string> </value>
+        </item>
+        <item>
+            <key> <string>is_indexable</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>2.0</float> </value>
+        </item>
+        <item>
+            <key> <string>reindex_kw</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Predicate</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Predicate_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/ActionTemplateItem/portal_types/Category%20Acquired%20Membership%20State%20Constraint/view.xml b/product/ERP5/bootstrap/erp5_core/ActionTemplateItem/portal_types/Category%20Acquired%20Membership%20State%20Constraint/view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cfa8174b7041e58e0523aaaa26309f36923ab77d
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_core/ActionTemplateItem/portal_types/Category%20Acquired%20Membership%20State%20Constraint/view.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>is_indexable</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>reindex_kw</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>is_indexable</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>reindex_kw</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/CategoryMembershipArityConstraint_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/product/ERP5/bootstrap/erp5_core/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
index 29e340897824b2e5d57e5d197b24553bea39d3bc..ff18dfceda7ee63fc2080aed035c8c89b4407946 100644
--- a/product/ERP5/bootstrap/erp5_core/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
+++ b/product/ERP5/bootstrap/erp5_core/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
@@ -67,6 +67,7 @@
   <item>Acquired Property</item>
   <item>Attribute Equality Constraint</item>
   <item>Attribute Unicity Constraint</item>
+  <item>Category Acquired Membership State Constraint</item>
   <item>Category Existence Constraint</item>
   <item>Category Membership Arity Constraint</item>
   <item>Category Membership State Constraint</item>
diff --git a/product/ERP5/bootstrap/erp5_core/PortalTypeTemplateItem/portal_types/Category%20Acquired%20Membership%20State%20Constraint.xml b/product/ERP5/bootstrap/erp5_core/PortalTypeTemplateItem/portal_types/Category%20Acquired%20Membership%20State%20Constraint.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3abee97d40e1043f9b5c3c9ee3c6613bfb9d2564
--- /dev/null
+++ b/product/ERP5/bootstrap/erp5_core/PortalTypeTemplateItem/portal_types/Category%20Acquired%20Membership%20State%20Constraint.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Base Type" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>A Category Membership Arity Constraint checks whether an object respects the arity without or with Acquisition</string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple>
+                <string>constraint</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Category Acquired Membership State Constraint</string> </value>
+        </item>
+        <item>
+            <key> <string>init_script</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>permission</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Base Type</string> </value>
+        </item>
+        <item>
+            <key> <string>type_class</string> </key>
+            <value> <string>CategoryAcquiredMembershipStateConstraint</string> </value>
+        </item>
+        <item>
+            <key> <string>type_interface</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_mixin</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/product/ERP5/bootstrap/erp5_core/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
index ed061bb84613103d371d4096320f28de60eb50c0..42fc789d2852d51e2977d8bf8dc8e3c4d929a2bd 100644
--- a/product/ERP5/bootstrap/erp5_core/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+++ b/product/ERP5/bootstrap/erp5_core/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -35,6 +35,10 @@
   <type>Category</type>
   <workflow>edit_workflow</workflow>
  </chain>
+ <chain>
+  <type>Category Acquired Membership State Constraint</type>
+  <workflow>dynamic_class_generation_interaction_workflow</workflow>
+ </chain>
  <chain>
   <type>Category Existence Constraint</type>
   <workflow>dynamic_class_generation_interaction_workflow</workflow>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index c70b0fbfab233138b8ace2e369b27e73bb82edb6..f9e32e0854c213420e93a5d3b93513c48978b36b 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-40947
\ No newline at end of file
+40948
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_action_path_list b/product/ERP5/bootstrap/erp5_core/bt/template_action_path_list
index 058387fc869e88cd516498b61ce2196084b6991e..c4d63cab1644509a7f83da9dc9b577b27f57b2e2 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/template_action_path_list
+++ b/product/ERP5/bootstrap/erp5_core/bt/template_action_path_list
@@ -35,6 +35,8 @@ Cache Factory | statistics
 Cache Factory | view
 Cache Tool | statistics
 Cache Tool | view
+Category Acquired Membership State Constraint | predicate
+Category Acquired Membership State Constraint | view
 Category Existence Constraint | predicate
 Category Existence Constraint | view
 Category Membership Arity Constraint | predicate
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_allowed_content_type_list b/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_allowed_content_type_list
index 3ff33975d6d02c22cfdc018145fa8c31797a9f1a..b413df02b3b052fc0f3b014147babdd4a98d85f3 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_allowed_content_type_list
+++ b/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_allowed_content_type_list
@@ -30,6 +30,7 @@ Property Sheet Tool | Property Sheet
 Property Sheet | Acquired Property
 Property Sheet | Attribute Equality Constraint
 Property Sheet | Attribute Unicity Constraint
+Property Sheet | Category Acquired Membership State Constraint
 Property Sheet | Category Existence Constraint
 Property Sheet | Category Membership Arity Constraint
 Property Sheet | Category Membership State Constraint
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_id_list b/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_id_list
index 8eb7ede590a744a425aa477209146ee99ebabd31..12114bf2fc8bf2e17fddb48028953532f4b16fb0 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_id_list
+++ b/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_id_list
@@ -17,6 +17,7 @@ Business Template
 Cache Factory
 Cache Tool
 Category
+Category Acquired Membership State Constraint
 Category Existence Constraint
 Category Membership Arity Constraint
 Category Membership State Constraint
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_workflow_chain_list b/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_workflow_chain_list
index ab0093ebc73650733d8776f7e44233719f24e102..63d5adfe72474de4f7464acd67d6e3bdb175c942 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_workflow_chain_list
+++ b/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_workflow_chain_list
@@ -9,6 +9,7 @@ Base Type | base_type_interaction_workflow
 Base Type | dynamic_class_generation_interaction_workflow
 Business Template | business_template_building_workflow
 Business Template | business_template_installation_workflow
+Category Acquired Membership State Constraint | dynamic_class_generation_interaction_workflow
 Category Existence Constraint | dynamic_class_generation_interaction_workflow
 Category Membership Arity Constraint | dynamic_class_generation_interaction_workflow
 Category Membership State Constraint | dynamic_class_generation_interaction_workflow