You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/05/14 08:05:57 UTC

[isis-app-helloworld] 07/07: ISIS-2619: rationalises fixtures etc.

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2619
in repository https://gitbox.apache.org/repos/asf/isis-app-helloworld.git

commit 9c89315c96d1a46b4f793fc6a5aed8b3866e5309
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri May 14 09:05:17 2021 +0100

    ISIS-2619: rationalises fixtures etc.
---
 .../java/domainapp/security/SeedUsersAndRoles.java | 18 +++----------
 .../RoleAndPerms__ApplibConfiguration__Veto.java   | 30 ----------------------
 .../isisroles/RoleAndPerms__Applib__Allow.java     | 28 --------------------
 .../RoleAndPerms__ExtFixtures__Allow.java          | 28 --------------------
 .../RoleAndPerms__ExtH2Console__Allow.java         | 28 --------------------
 .../isisroles/RoleAndPerms__MetaModel_Allow.java   | 28 --------------------
 .../RoleAndPerms__PersistenceJdo_Allow.java        | 28 --------------------
 .../security/isisroles/SecmanRoleNames.java        |  4 ---
 .../security/scripts/RoleAndPerms__NoDelete.java   |  6 ++---
 .../scripts/RoleAndPerms__NoIsis2619Prop.java      | 25 ++++++++++++++++++
 .../security/scripts/RoleAndPerms__UserRo.java     |  6 ++---
 .../security/scripts/RoleAndPerms__UserRw.java     | 15 +++--------
 .../java/domainapp/security/scripts/Tenancies.java |  8 +-----
 .../security/scripts/UserToRole__bob_UserRw.java   | 24 ++++++++---------
 .../security/scripts/UserToRole__dick_UserRo.java  | 12 ++-------
 ...e__joe_UserRw_but_NoDelete_or_isis2619Prop.java | 27 +++++++++++++++++++
 16 files changed, 80 insertions(+), 235 deletions(-)

diff --git a/src/main/java/domainapp/security/SeedUsersAndRoles.java b/src/main/java/domainapp/security/SeedUsersAndRoles.java
index 0ac898a..f4c0786 100644
--- a/src/main/java/domainapp/security/SeedUsersAndRoles.java
+++ b/src/main/java/domainapp/security/SeedUsersAndRoles.java
@@ -12,19 +12,14 @@ import org.apache.isis.core.metamodel.events.MetamodelEvent;
 import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
 import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScripts;
 
-import domainapp.security.isisroles.RoleAndPerms__ApplibConfiguration__Veto;
-import domainapp.security.isisroles.RoleAndPerms__Applib__Allow;
-import domainapp.security.isisroles.RoleAndPerms__ExtFixtures__Allow;
-import domainapp.security.isisroles.RoleAndPerms__ExtH2Console__Allow;
-import domainapp.security.isisroles.RoleAndPerms__MetaModel_Allow;
-import domainapp.security.isisroles.RoleAndPerms__PersistenceJdo_Allow;
 import domainapp.security.scripts.RoleAndPerms__NoDelete;
+import domainapp.security.scripts.RoleAndPerms__NoIsis2619Prop;
 import domainapp.security.scripts.RoleAndPerms__UserRo;
 import domainapp.security.scripts.RoleAndPerms__UserRw;
 import domainapp.security.scripts.Tenancies;
 import domainapp.security.scripts.UserToRole__bob_UserRw;
 import domainapp.security.scripts.UserToRole__dick_UserRo;
-import domainapp.security.scripts.UserToRole__joe_UserRw_but_NoDelete;
+import domainapp.security.scripts.UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop;
 
 @Service
 @Order(OrderPrecedence.MIDPOINT + 10)
@@ -55,18 +50,13 @@ public class SeedUsersAndRoles {
             protected void execute(ExecutionContext ec) {
                 ec.executeChildren(this,
                         new Tenancies()
-                        , new RoleAndPerms__Applib__Allow()
-                        , new RoleAndPerms__ApplibConfiguration__Veto()
-                        , new RoleAndPerms__ExtFixtures__Allow()
-                        , new RoleAndPerms__ExtH2Console__Allow()
-                        , new RoleAndPerms__MetaModel_Allow()
-                        , new RoleAndPerms__PersistenceJdo_Allow()
                         , new RoleAndPerms__UserRw()
                         , new RoleAndPerms__UserRo()
                         , new RoleAndPerms__NoDelete()
+                        , new RoleAndPerms__NoIsis2619Prop()
                         , new UserToRole__bob_UserRw()
                         , new UserToRole__dick_UserRo()
-                        , new UserToRole__joe_UserRw_but_NoDelete()
+                        , new UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop()
                 );
             }
         });
diff --git a/src/main/java/domainapp/security/isisroles/RoleAndPerms__ApplibConfiguration__Veto.java b/src/main/java/domainapp/security/isisroles/RoleAndPerms__ApplibConfiguration__Veto.java
deleted file mode 100644
index 398a92a..0000000
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__ApplibConfiguration__Veto.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package domainapp.security.isisroles;
-
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
-
-public class RoleAndPerms__ApplibConfiguration__Veto extends AbstractRoleAndPermissionsFixtureScript {
-
-    public static final String ROLE_NAME = "isis-applib-configuration--veto";
-
-    public RoleAndPerms__ApplibConfiguration__Veto() {
-        super(ROLE_NAME, "Veto access to configuration menu");
-    }
-
-    @Override
-    protected void execute(ExecutionContext ec) {
-        newPermissions(
-                ApplicationPermissionRule.VETO,
-                ApplicationPermissionMode.VIEWING,
-                Can.of(
-                        ApplicationFeatureId.newFeature(ApplicationFeatureSort.MEMBER, "isis.applib.ConfigurationMenu#configuration"),
-                        ApplicationFeatureId.newFeature(ApplicationFeatureSort.TYPE, "isis.applib.ConfigurationProperty"),
-                        ApplicationFeatureId.newFeature(ApplicationFeatureSort.TYPE, "isis.applib.ConfigurationViewModel")
-                )
-        );
-    }
-}
diff --git a/src/main/java/domainapp/security/isisroles/RoleAndPerms__Applib__Allow.java b/src/main/java/domainapp/security/isisroles/RoleAndPerms__Applib__Allow.java
deleted file mode 100644
index 2c3b423..0000000
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__Applib__Allow.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package domainapp.security.isisroles;
-
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
-
-public class RoleAndPerms__Applib__Allow extends AbstractRoleAndPermissionsFixtureScript {
-
-    public static final String ROLE_NAME = "isis-applib--allow";
-
-    public RoleAndPerms__Applib__Allow() {
-        super(ROLE_NAME, "Access objects defined in isis' applib.  Note that this includes access to configuration");
-    }
-
-    @Override
-    protected void execute(ExecutionContext ec) {
-        newPermissions(
-                ApplicationPermissionRule.ALLOW,
-                ApplicationPermissionMode.CHANGING,
-                Can.of(
-                        ApplicationFeatureId.newFeature(ApplicationFeatureSort.NAMESPACE, "isis.applib")
-                )
-        );
-    }
-}
diff --git a/src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtFixtures__Allow.java b/src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtFixtures__Allow.java
deleted file mode 100644
index 3897753..0000000
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtFixtures__Allow.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package domainapp.security.isisroles;
-
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
-
-public class RoleAndPerms__ExtFixtures__Allow extends AbstractRoleAndPermissionsFixtureScript {
-
-    public static final String ROLE_NAME = "isis-ext-fixtures--allow";
-
-    public RoleAndPerms__ExtFixtures__Allow() {
-        super(ROLE_NAME, "Execute fixture scripts");
-    }
-
-    @Override
-    protected void execute(ExecutionContext ec) {
-        newPermissions(
-                ApplicationPermissionRule.ALLOW,
-                ApplicationPermissionMode.CHANGING,
-                Can.of(
-                        ApplicationFeatureId.newFeature(ApplicationFeatureSort.NAMESPACE, "isis.ext.fixtures")
-                )
-        );
-    }
-}
diff --git a/src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtH2Console__Allow.java b/src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtH2Console__Allow.java
deleted file mode 100644
index a847f11..0000000
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtH2Console__Allow.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package domainapp.security.isisroles;
-
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
-
-public class RoleAndPerms__ExtH2Console__Allow extends AbstractRoleAndPermissionsFixtureScript {
-
-    public static final String ROLE_NAME = "isis-ext-h2-console--allow";
-
-    public RoleAndPerms__ExtH2Console__Allow() {
-        super(ROLE_NAME, "Access the H2 Console");
-    }
-
-    @Override
-    protected void execute(ExecutionContext ec) {
-        newPermissions(
-                ApplicationPermissionRule.ALLOW,
-                ApplicationPermissionMode.CHANGING,
-                Can.of(
-                        ApplicationFeatureId.newFeature(ApplicationFeatureSort.NAMESPACE, "isis.ext.h2Console")
-                )
-        );
-    }
-}
diff --git a/src/main/java/domainapp/security/isisroles/RoleAndPerms__MetaModel_Allow.java b/src/main/java/domainapp/security/isisroles/RoleAndPerms__MetaModel_Allow.java
deleted file mode 100644
index a778c3c..0000000
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__MetaModel_Allow.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package domainapp.security.isisroles;
-
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
-
-public class RoleAndPerms__MetaModel_Allow extends AbstractRoleAndPermissionsFixtureScript {
-
-    public static final String ROLE_NAME = "isis-metamodel--allow";
-
-    public RoleAndPerms__MetaModel_Allow() {
-        super(ROLE_NAME, "Access objects defined in isis' metamodel.  Note that this includes access to configuration");
-    }
-
-    @Override
-    protected void execute(ExecutionContext ec) {
-        newPermissions(
-                ApplicationPermissionRule.ALLOW,
-                ApplicationPermissionMode.CHANGING,
-                Can.of(
-                        ApplicationFeatureId.newFeature(ApplicationFeatureSort.NAMESPACE, "isis.applib")
-                )
-        );
-    }
-}
diff --git a/src/main/java/domainapp/security/isisroles/RoleAndPerms__PersistenceJdo_Allow.java b/src/main/java/domainapp/security/isisroles/RoleAndPerms__PersistenceJdo_Allow.java
deleted file mode 100644
index 9c435fc..0000000
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__PersistenceJdo_Allow.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package domainapp.security.isisroles;
-
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
-
-public class RoleAndPerms__PersistenceJdo_Allow extends AbstractRoleAndPermissionsFixtureScript {
-
-    public static final String ROLE_NAME = "isis-persistence-jdo--allow";
-
-    public RoleAndPerms__PersistenceJdo_Allow() {
-        super(ROLE_NAME, "Download the JDO metamodel");
-    }
-
-    @Override
-    protected void execute(ExecutionContext ec) {
-        newPermissions(
-                ApplicationPermissionRule.ALLOW,
-                ApplicationPermissionMode.CHANGING,
-                Can.of(
-                        ApplicationFeatureId.newFeature(ApplicationFeatureSort.NAMESPACE, "isis.persistence.jdo")
-                )
-        );
-    }
-}
diff --git a/src/main/java/domainapp/security/isisroles/SecmanRoleNames.java b/src/main/java/domainapp/security/isisroles/SecmanRoleNames.java
index 3c0cfb7..1d8f29b 100644
--- a/src/main/java/domainapp/security/isisroles/SecmanRoleNames.java
+++ b/src/main/java/domainapp/security/isisroles/SecmanRoleNames.java
@@ -1,9 +1,5 @@
 package domainapp.security.isisroles;
 
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.user.AccountType;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractUserAndRolesFixtureScript;
-
 public class SecmanRoleNames {
     private SecmanRoleNames(){}
     public static final String ADMIN = "isis-ext-secman-admin";
diff --git a/src/main/java/domainapp/security/scripts/RoleAndPerms__NoDelete.java b/src/main/java/domainapp/security/scripts/RoleAndPerms__NoDelete.java
index 32d65ea..dab80b0 100644
--- a/src/main/java/domainapp/security/scripts/RoleAndPerms__NoDelete.java
+++ b/src/main/java/domainapp/security/scripts/RoleAndPerms__NoDelete.java
@@ -3,9 +3,9 @@ package domainapp.security.scripts;
 import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
 import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
 import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
+import org.apache.isis.extensions.secman.api.permission.dom.ApplicationPermissionMode;
+import org.apache.isis.extensions.secman.api.permission.dom.ApplicationPermissionRule;
+import org.apache.isis.extensions.secman.api.role.fixtures.AbstractRoleAndPermissionsFixtureScript;
 
 public class RoleAndPerms__NoDelete extends AbstractRoleAndPermissionsFixtureScript {
 
diff --git a/src/main/java/domainapp/security/scripts/RoleAndPerms__NoIsis2619Prop.java b/src/main/java/domainapp/security/scripts/RoleAndPerms__NoIsis2619Prop.java
new file mode 100644
index 0000000..0133b7b
--- /dev/null
+++ b/src/main/java/domainapp/security/scripts/RoleAndPerms__NoIsis2619Prop.java
@@ -0,0 +1,25 @@
+package domainapp.security.scripts;
+
+import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
+import org.apache.isis.commons.collections.Can;
+import org.apache.isis.extensions.secman.api.permission.dom.ApplicationPermissionMode;
+import org.apache.isis.extensions.secman.api.permission.dom.ApplicationPermissionRule;
+import org.apache.isis.extensions.secman.api.role.fixtures.AbstractRoleAndPermissionsFixtureScript;
+
+public class RoleAndPerms__NoIsis2619Prop extends AbstractRoleAndPermissionsFixtureScript {
+
+    public static final String ROLE_NAME = "no-isis2619prop";
+
+    public RoleAndPerms__NoIsis2619Prop() {
+        super(ROLE_NAME, "Veto access to HelloWorld#isis2619Prop");
+    }
+
+    @Override
+    protected void execute(ExecutionContext ec) {
+        newPermissions(
+                ApplicationPermissionRule.VETO,
+                ApplicationPermissionMode.VIEWING,
+                Can.of(ApplicationFeatureId.newMember("hello.HelloWorldObject", "isis2619Prop"))
+        );
+    }
+}
diff --git a/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRo.java b/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRo.java
index 6bd585f..bf7296a 100644
--- a/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRo.java
+++ b/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRo.java
@@ -3,9 +3,9 @@ package domainapp.security.scripts;
 import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
 import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
 import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
+import org.apache.isis.extensions.secman.api.permission.dom.ApplicationPermissionMode;
+import org.apache.isis.extensions.secman.api.permission.dom.ApplicationPermissionRule;
+import org.apache.isis.extensions.secman.api.role.fixtures.AbstractRoleAndPermissionsFixtureScript;
 
 public class RoleAndPerms__UserRo extends AbstractRoleAndPermissionsFixtureScript {
 
diff --git a/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRw.java b/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRw.java
index 50870af..a37dcb4 100644
--- a/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRw.java
+++ b/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRw.java
@@ -1,19 +1,10 @@
 package domainapp.security.scripts;
 
-import java.util.Arrays;
-
-import javax.inject.Inject;
-
 import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.isis.applib.value.Password;
 import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
-import org.apache.isis.extensions.secman.jdo.dom.role.ApplicationRole;
-import org.apache.isis.extensions.secman.jdo.dom.role.ApplicationRoleRepository;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
-import org.apache.isis.extensions.secman.model.dom.user.ApplicationUserMenu;
-import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
+import org.apache.isis.extensions.secman.api.permission.dom.ApplicationPermissionMode;
+import org.apache.isis.extensions.secman.api.permission.dom.ApplicationPermissionRule;
+import org.apache.isis.extensions.secman.api.role.fixtures.AbstractRoleAndPermissionsFixtureScript;
 
 public class RoleAndPerms__UserRw extends AbstractRoleAndPermissionsFixtureScript {
 
diff --git a/src/main/java/domainapp/security/scripts/Tenancies.java b/src/main/java/domainapp/security/scripts/Tenancies.java
index 3018af2..8d5ae42 100644
--- a/src/main/java/domainapp/security/scripts/Tenancies.java
+++ b/src/main/java/domainapp/security/scripts/Tenancies.java
@@ -1,12 +1,6 @@
 package domainapp.security.scripts;
 
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
-import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
-import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractTenancyFixtureScript;
+import org.apache.isis.extensions.secman.api.tenancy.fixtures.AbstractTenancyFixtureScript;
 
 public class Tenancies extends AbstractTenancyFixtureScript {
 
diff --git a/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java b/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
index 621a0fc..d2bc56b 100644
--- a/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
@@ -1,14 +1,14 @@
 package domainapp.security.scripts;
 
 import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.user.AccountType;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractUserAndRolesFixtureScript;
+import org.apache.isis.extensions.secman.api.user.dom.AccountType;
+import org.apache.isis.extensions.secman.api.user.fixtures.AbstractUserAndRolesFixtureScript;
+import org.apache.isis.extensions.secman.model.seed.scripts.other.IsisConfigurationRoleAndPermissions;
+import org.apache.isis.extensions.secman.model.seed.scripts.other.IsisExtFixturesRoleAndPermissions;
+import org.apache.isis.extensions.secman.model.seed.scripts.other.IsisExtH2ConsoleRoleAndPermissions;
+import org.apache.isis.extensions.secman.model.seed.scripts.other.IsisPersistenceJdoMetaModelRoleAndPermissions;
+import org.apache.isis.extensions.secman.model.seed.scripts.other.IsisSudoImpersonateRoleAndPermissions;
 
-import domainapp.security.isisroles.RoleAndPerms__Applib__Allow;
-import domainapp.security.isisroles.RoleAndPerms__ExtFixtures__Allow;
-import domainapp.security.isisroles.RoleAndPerms__ExtH2Console__Allow;
-import domainapp.security.isisroles.RoleAndPerms__MetaModel_Allow;
-import domainapp.security.isisroles.RoleAndPerms__PersistenceJdo_Allow;
 import domainapp.security.isisroles.SecmanRoleNames;
 
 public class UserToRole__bob_UserRw extends AbstractUserAndRolesFixtureScript {
@@ -20,11 +20,11 @@ public class UserToRole__bob_UserRw extends AbstractUserAndRolesFixtureScript {
                 Can.of(
                         RoleAndPerms__UserRw.ROLE_NAME
                         , SecmanRoleNames.USER
-                        , RoleAndPerms__Applib__Allow.ROLE_NAME
-                        , RoleAndPerms__ExtFixtures__Allow.ROLE_NAME
-                        , RoleAndPerms__ExtH2Console__Allow.ROLE_NAME
-                        , RoleAndPerms__PersistenceJdo_Allow.ROLE_NAME
-                        , RoleAndPerms__MetaModel_Allow.ROLE_NAME
+                        , IsisConfigurationRoleAndPermissions.ROLE_NAME
+                        , IsisExtFixturesRoleAndPermissions.ROLE_NAME
+                        , IsisExtH2ConsoleRoleAndPermissions.ROLE_NAME
+                        , IsisPersistenceJdoMetaModelRoleAndPermissions.ROLE_NAME
+                        , IsisSudoImpersonateRoleAndPermissions.ROLE_NAME
                 ));
     }
 
diff --git a/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java b/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
index 653af43..9ee34b1 100644
--- a/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
@@ -1,14 +1,9 @@
 package domainapp.security.scripts;
 
 import org.apache.isis.commons.collections.Can;
-import org.apache.isis.extensions.secman.api.user.AccountType;
-import org.apache.isis.extensions.secman.jdo.seed.scripts.AbstractUserAndRolesFixtureScript;
+import org.apache.isis.extensions.secman.api.user.dom.AccountType;
+import org.apache.isis.extensions.secman.api.user.fixtures.AbstractUserAndRolesFixtureScript;
 
-import domainapp.security.isisroles.RoleAndPerms__ApplibConfiguration__Veto;
-import domainapp.security.isisroles.RoleAndPerms__Applib__Allow;
-import domainapp.security.isisroles.RoleAndPerms__ExtFixtures__Allow;
-import domainapp.security.isisroles.RoleAndPerms__ExtH2Console__Allow;
-import domainapp.security.isisroles.RoleAndPerms__MetaModel_Allow;
 import domainapp.security.isisroles.SecmanRoleNames;
 
 public class UserToRole__dick_UserRo extends AbstractUserAndRolesFixtureScript {
@@ -20,9 +15,6 @@ public class UserToRole__dick_UserRo extends AbstractUserAndRolesFixtureScript {
                 Can.of(
                         RoleAndPerms__UserRo.ROLE_NAME
                         , SecmanRoleNames.USER
-                        , RoleAndPerms__Applib__Allow.ROLE_NAME
-                        , RoleAndPerms__ApplibConfiguration__Veto.ROLE_NAME
-                        , RoleAndPerms__MetaModel_Allow.ROLE_NAME
                 ));
     }
 
diff --git a/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop.java b/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop.java
new file mode 100644
index 0000000..2e87d69
--- /dev/null
+++ b/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop.java
@@ -0,0 +1,27 @@
+package domainapp.security.scripts;
+
+import org.apache.isis.commons.collections.Can;
+import org.apache.isis.extensions.secman.api.user.dom.AccountType;
+import org.apache.isis.extensions.secman.api.user.fixtures.AbstractUserAndRolesFixtureScript;
+import org.apache.isis.extensions.secman.model.seed.scripts.other.IsisExtH2ConsoleRoleAndPermissions;
+import org.apache.isis.extensions.secman.model.seed.scripts.other.IsisPersistenceJdoMetaModelRoleAndPermissions;
+
+import domainapp.security.isisroles.SecmanRoleNames;
+
+public class UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop extends AbstractUserAndRolesFixtureScript {
+
+    public UserToRole__joe_UserRw_but_NoDelete_or_isis2619Prop() {
+        super("joe", "pass", "joe@italy.com",
+                "/ITA",
+                AccountType.LOCAL,
+                Can.of(
+                        RoleAndPerms__UserRw.ROLE_NAME
+                        , RoleAndPerms__NoDelete.ROLE_NAME  // <<< veto application behaviour
+                        , RoleAndPerms__NoIsis2619Prop.ROLE_NAME  // <<< veto application behaviour
+                        , IsisExtH2ConsoleRoleAndPermissions.ROLE_NAME
+                        , IsisPersistenceJdoMetaModelRoleAndPermissions.ROLE_NAME
+                        , SecmanRoleNames.USER
+                ));
+    }
+
+}