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/04/15 08:11:12 UTC

[isis-app-helloworld] branch jpa-secman created (now 1926e25)

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

danhaywood pushed a change to branch jpa-secman
in repository https://gitbox.apache.org/repos/asf/isis-app-helloworld.git.


      at 1926e25  removes persistence.jdo role for bob; not much point in it for JPA branch

This branch includes the following new commits:

     new 8b5eaae  Merge branch 'jdo-secman' into jpa
     new 32c1202  fixes up imports
     new fb80ade  Merge branch 'jdo-secman' into jpa-secman
     new 1926e25  removes persistence.jdo role for bob; not much point in it for JPA branch

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[isis-app-helloworld] 04/04: removes persistence.jdo role for bob; not much point in it for JPA branch

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 1926e25af2f1eb27d6b4e578a130d434e5497f13
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Apr 15 09:10:53 2021 +0100

    removes persistence.jdo role for bob; not much point in it for JPA branch
---
 src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java | 1 -
 1 file changed, 1 deletion(-)

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 1d2dd28..d6ac1fc 100644
--- a/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
@@ -21,7 +21,6 @@ public class UserToRole__bob_UserRw extends AbstractUserAndRolesFixtureScript {
                         , 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
                 ));
     }

[isis-app-helloworld] 02/04: fixes up imports

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 32c120248aef8981bd08ff91dac74922bccd7746
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Apr 15 08:51:35 2021 +0100

    fixes up imports
---
 pom.xml                                                             | 2 +-
 .../java/domainapp/security/scripts/RoleAndPerms__NoDelete.java     | 2 +-
 src/main/java/domainapp/security/scripts/RoleAndPerms__UserRo.java  | 2 +-
 src/main/java/domainapp/security/scripts/RoleAndPerms__UserRw.java  | 6 +++---
 src/main/java/domainapp/security/scripts/SecmanConstants.java       | 2 +-
 .../java/domainapp/security/scripts/UserToRole__bob_UserRw.java     | 2 +-
 .../java/domainapp/security/scripts/UserToRole__dick_UserRo.java    | 2 +-
 .../security/scripts/UserToRole__joe_UserRw_but_NoDelete.java       | 2 +-
 src/main/java/domainapp/webapp/AppManifest.java                     | 4 ++--
 9 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/pom.xml b/pom.xml
index 6f46f10..b923017 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,7 +77,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.isis.extensions</groupId>
-            <artifactId>isis-extensions-secman-persistence-jdo</artifactId>
+            <artifactId>isis-extensions-secman-persistence-jpa</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.isis.extensions</groupId>
diff --git a/src/main/java/domainapp/security/scripts/RoleAndPerms__NoDelete.java b/src/main/java/domainapp/security/scripts/RoleAndPerms__NoDelete.java
index 32d65ea..11580dc 100644
--- a/src/main/java/domainapp/security/scripts/RoleAndPerms__NoDelete.java
+++ b/src/main/java/domainapp/security/scripts/RoleAndPerms__NoDelete.java
@@ -5,7 +5,7 @@ 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.jpa.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
 
 public class RoleAndPerms__NoDelete extends AbstractRoleAndPermissionsFixtureScript {
 
diff --git a/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRo.java b/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRo.java
index 6bd585f..2e97519 100644
--- a/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRo.java
+++ b/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRo.java
@@ -5,7 +5,7 @@ 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.jpa.seed.scripts.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..4859b97 100644
--- a/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRw.java
+++ b/src/main/java/domainapp/security/scripts/RoleAndPerms__UserRw.java
@@ -9,9 +9,9 @@ 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.jpa.dom.role.ApplicationRole;
+import org.apache.isis.extensions.secman.jpa.dom.role.ApplicationRoleRepository;
+import org.apache.isis.extensions.secman.jpa.seed.scripts.AbstractRoleAndPermissionsFixtureScript;
 import org.apache.isis.extensions.secman.model.dom.user.ApplicationUserMenu;
 import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
 
diff --git a/src/main/java/domainapp/security/scripts/SecmanConstants.java b/src/main/java/domainapp/security/scripts/SecmanConstants.java
index 0c8df8d..1811749 100644
--- a/src/main/java/domainapp/security/scripts/SecmanConstants.java
+++ b/src/main/java/domainapp/security/scripts/SecmanConstants.java
@@ -2,7 +2,7 @@ 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.jpa.seed.scripts.AbstractUserAndRolesFixtureScript;
 
 public class SecmanConstants {
     private SecmanConstants(){}
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 a44b92b..8ecb9df 100644
--- a/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
@@ -2,7 +2,7 @@ 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.jpa.seed.scripts.AbstractUserAndRolesFixtureScript;
 
 public class UserToRole__bob_UserRw extends AbstractUserAndRolesFixtureScript {
 
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 2245fdb..d059383 100644
--- a/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
@@ -2,7 +2,7 @@ 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.jpa.seed.scripts.AbstractUserAndRolesFixtureScript;
 
 public class UserToRole__dick_UserRo extends AbstractUserAndRolesFixtureScript {
 
diff --git a/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete.java b/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete.java
index 9f98c23..5eafe7c 100644
--- a/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete.java
@@ -2,7 +2,7 @@ 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.jpa.seed.scripts.AbstractUserAndRolesFixtureScript;
 
 public class UserToRole__joe_UserRw_but_NoDelete extends AbstractUserAndRolesFixtureScript {
 
diff --git a/src/main/java/domainapp/webapp/AppManifest.java b/src/main/java/domainapp/webapp/AppManifest.java
index 84cebb0..1d90f9e 100644
--- a/src/main/java/domainapp/webapp/AppManifest.java
+++ b/src/main/java/domainapp/webapp/AppManifest.java
@@ -18,7 +18,7 @@ import org.apache.isis.extensions.secman.api.SecurityRealmService;
 import org.apache.isis.extensions.secman.api.permission.PermissionsEvaluationService;
 import org.apache.isis.extensions.secman.api.permission.PermissionsEvaluationServiceAllowBeatsVeto;
 import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisModuleExtSecmanEncryptionJbcrypt;
-import org.apache.isis.extensions.secman.jdo.IsisModuleExtSecmanPersistenceJdo;
+import org.apache.isis.extensions.secman.jpa.IsisModuleExtSecmanPersistenceJpa;
 import org.apache.isis.extensions.secman.model.IsisModuleExtSecmanModel;
 import org.apache.isis.extensions.secman.shiro.IsisModuleExtSecmanRealmShiro;
 import org.apache.isis.persistence.jpa.eclipselink.IsisModuleJpaEclipselink;
@@ -42,7 +42,7 @@ import domainapp.security.scripts.SecmanConstants;
 
         IsisModuleExtSecmanApi.class,
         IsisModuleExtSecmanModel.class,
-        IsisModuleExtSecmanPersistenceJdo.class,
+        IsisModuleExtSecmanPersistenceJpa.class,
         IsisModuleExtSecmanRealmShiro.class,
         IsisModuleExtSecmanEncryptionJbcrypt.class,
 

[isis-app-helloworld] 01/04: Merge branch 'jdo-secman' into jpa

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 8b5eaae162377bd06df711eb65025808dfd09e67
Merge: fea9ea4 e1fe94c
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Apr 15 08:07:55 2021 +0100

    Merge branch 'jdo-secman' into jpa

 pom.xml                                            |  34 ++++++
 .../modules/hello/dom/hwo/HelloWorldObject.java    |   7 +-
 .../hello/dom/hwo/HelloWorldObject.layout.xml      |  19 +---
 .../java/domainapp/security/SeedUsersAndRoles.java |  61 +++++++++++
 .../security/scripts/RoleAndPerms__NoDelete.java   |  26 +++++
 .../security/scripts/RoleAndPerms__UserRo.java     |  32 ++++++
 .../security/scripts/RoleAndPerms__UserRw.java     |  34 ++++++
 .../security/scripts/SecmanConstants.java          |  11 ++
 .../security/scripts/UserToRole__bob_UserRw.java   |  17 +++
 .../security/scripts/UserToRole__dick_UserRo.java  |  17 +++
 .../UserToRole__joe_UserRw_but_NoDelete.java       |  18 ++++
 src/main/java/domainapp/webapp/AppManifest.java    |  51 +++++++++
 src/main/resources/menubars.layout.xml             | 116 ++++++++++-----------
 src/main/resources/shiro.ini                       |  37 +------
 14 files changed, 373 insertions(+), 107 deletions(-)

diff --cc src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObject.java
index 6395911,3c9127f..d3bd6be
--- a/src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObject.java
+++ b/src/main/java/domainapp/modules/hello/dom/hwo/HelloWorldObject.java
@@@ -63,9 -60,9 +65,10 @@@ public class HelloWorldObject implement
      }
  
      @Notes
 +    @javax.persistence.Column(length = Notes.MAX_LEN, nullable = true)
      @MemberOrder(name = "details", sequence = "1")
      private String notes;
+     @PropertyLayout(multiLine = 10, hidden = Where.ALL_TABLES)
      public String getNotes() {
          return notes;
      }
diff --cc src/main/java/domainapp/webapp/AppManifest.java
index 87a5213,ad39712..84cebb0
--- a/src/main/java/domainapp/webapp/AppManifest.java
+++ b/src/main/java/domainapp/webapp/AppManifest.java
@@@ -7,8 -10,20 +10,20 @@@ import org.springframework.context.anno
  
  import org.apache.isis.core.config.presets.IsisPresets;
  import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
+ import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
+ import org.apache.isis.extensions.secman.api.SecmanConfiguration;
+ import org.apache.isis.extensions.secman.api.SecurityRealm;
+ import org.apache.isis.extensions.secman.api.SecurityRealmCharacteristic;
+ import org.apache.isis.extensions.secman.api.SecurityRealmService;
+ import org.apache.isis.extensions.secman.api.permission.PermissionsEvaluationService;
+ import org.apache.isis.extensions.secman.api.permission.PermissionsEvaluationServiceAllowBeatsVeto;
+ import org.apache.isis.extensions.secman.encryption.jbcrypt.IsisModuleExtSecmanEncryptionJbcrypt;
+ import org.apache.isis.extensions.secman.jdo.IsisModuleExtSecmanPersistenceJdo;
+ import org.apache.isis.extensions.secman.model.IsisModuleExtSecmanModel;
+ import org.apache.isis.extensions.secman.shiro.IsisModuleExtSecmanRealmShiro;
 -import org.apache.isis.persistence.jdo.datanucleus.IsisModuleJdoDatanucleus;
 +import org.apache.isis.persistence.jpa.eclipselink.IsisModuleJpaEclipselink;
  import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
+ import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
  import org.apache.isis.testing.h2console.ui.IsisModuleTestingH2ConsoleUi;
  import org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleViewerRestfulObjectsJaxrsResteasy4;
  import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;

[isis-app-helloworld] 03/04: Merge branch 'jdo-secman' into jpa-secman

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit fb80adeac474f99793279473da069940d80e5a6e
Merge: 32c1202 46234bf
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Apr 15 09:07:59 2021 +0100

    Merge branch 'jdo-secman' into jpa-secman

 .../java/domainapp/security/SeedUsersAndRoles.java | 14 +++++++++-
 .../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        | 11 ++++++++
 .../security/scripts/SecmanConstants.java          | 11 --------
 .../security/scripts/UserToRole__bob_UserRw.java   | 14 +++++++++-
 .../security/scripts/UserToRole__dick_UserRo.java  | 12 ++++++++-
 .../UserToRole__joe_UserRw_but_NoDelete.java       | 18 +++++++++++--
 src/main/java/domainapp/webapp/AppManifest.java    |  6 ++---
 13 files changed, 237 insertions(+), 19 deletions(-)

diff --cc src/main/java/domainapp/security/isisroles/RoleAndPerms__ApplibConfiguration__Veto.java
index 0000000,398a92a..ec1b112
mode 000000,100644..100644
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__ApplibConfiguration__Veto.java
+++ b/src/main/java/domainapp/security/isisroles/RoleAndPerms__ApplibConfiguration__Veto.java
@@@ -1,0 -1,30 +1,30 @@@
+ 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;
++import org.apache.isis.extensions.secman.jpa.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 --cc src/main/java/domainapp/security/isisroles/RoleAndPerms__Applib__Allow.java
index 0000000,2c3b423..d5d7408
mode 000000,100644..100644
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__Applib__Allow.java
+++ b/src/main/java/domainapp/security/isisroles/RoleAndPerms__Applib__Allow.java
@@@ -1,0 -1,28 +1,28 @@@
+ 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;
++import org.apache.isis.extensions.secman.jpa.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 --cc src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtFixtures__Allow.java
index 0000000,3897753..85ea42d
mode 000000,100644..100644
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtFixtures__Allow.java
+++ b/src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtFixtures__Allow.java
@@@ -1,0 -1,28 +1,28 @@@
+ 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;
++import org.apache.isis.extensions.secman.jpa.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 --cc src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtH2Console__Allow.java
index 0000000,a847f11..ee60606
mode 000000,100644..100644
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtH2Console__Allow.java
+++ b/src/main/java/domainapp/security/isisroles/RoleAndPerms__ExtH2Console__Allow.java
@@@ -1,0 -1,28 +1,28 @@@
+ 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;
++import org.apache.isis.extensions.secman.jpa.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 --cc src/main/java/domainapp/security/isisroles/RoleAndPerms__MetaModel_Allow.java
index 0000000,a778c3c..e63f8c1
mode 000000,100644..100644
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__MetaModel_Allow.java
+++ b/src/main/java/domainapp/security/isisroles/RoleAndPerms__MetaModel_Allow.java
@@@ -1,0 -1,28 +1,28 @@@
+ 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;
++import org.apache.isis.extensions.secman.jpa.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 --cc src/main/java/domainapp/security/isisroles/RoleAndPerms__PersistenceJdo_Allow.java
index 0000000,9c435fc..859ddac
mode 000000,100644..100644
--- a/src/main/java/domainapp/security/isisroles/RoleAndPerms__PersistenceJdo_Allow.java
+++ b/src/main/java/domainapp/security/isisroles/RoleAndPerms__PersistenceJdo_Allow.java
@@@ -1,0 -1,28 +1,28 @@@
+ 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;
++import org.apache.isis.extensions.secman.jpa.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 --cc src/main/java/domainapp/security/isisroles/SecmanRoleNames.java
index 0000000,3c0cfb7..3841214
mode 000000,100644..100644
--- a/src/main/java/domainapp/security/isisroles/SecmanRoleNames.java
+++ b/src/main/java/domainapp/security/isisroles/SecmanRoleNames.java
@@@ -1,0 -1,11 +1,11 @@@
+ 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;
++import org.apache.isis.extensions.secman.jpa.seed.scripts.AbstractUserAndRolesFixtureScript;
+ 
+ public class SecmanRoleNames {
+     private SecmanRoleNames(){}
+     public static final String ADMIN = "isis-ext-secman-admin";
+     public static final String USER = "isis-ext-secman-user";
+ }
diff --cc src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
index 8ecb9df,561a189..1d2dd28
--- a/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__bob_UserRw.java
@@@ -2,8 -2,15 +2,15 @@@ 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.jpa.seed.scripts.AbstractUserAndRolesFixtureScript;
  
+ 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 {
  
      public UserToRole__bob_UserRw() {
diff --cc src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
index d059383,2e62850..344607b
--- a/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__dick_UserRo.java
@@@ -2,8 -2,15 +2,15 @@@ 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.jpa.seed.scripts.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 {
  
      public UserToRole__dick_UserRo() {
diff --cc src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete.java
index 5eafe7c,6af2a88..6f5f6ee
--- a/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete.java
+++ b/src/main/java/domainapp/security/scripts/UserToRole__joe_UserRw_but_NoDelete.java
@@@ -2,8 -2,16 +2,16 @@@ 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.jpa.seed.scripts.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.RoleAndPerms__PersistenceJdo_Allow;
+ import domainapp.security.isisroles.SecmanRoleNames;
+ 
  public class UserToRole__joe_UserRw_but_NoDelete extends AbstractUserAndRolesFixtureScript {
  
      public UserToRole__joe_UserRw_but_NoDelete() {