@Timothy, thanks for this useful info... I'll add it to the docs. @Fabio, apologies not to get back to you before now. I'm not certain if you want to move the security addon tables to a different schema, or whether simply the schema that they live isn't being created on SQL Server?
My recollection is a bit hazy, I recall seeing different behaviour on different DBs. However, I just checked by running the security addon demo app configured against SQL Server, and it did automatically create both the schema and the tables, see [1] To get this behaviour I just checked out from current master [2], then edited the webapp/pom.xml to include the sqljdbc4 driver, and edited the JDBC properties in persistor.properties: isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=com.microsoft.sqlserver.jdbc.SQLServerDriver isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:sqlserver://127.0.0.1:1433;instance=.;databaseName=securitydemo isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=securitydemo isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=pass This behaviour is because of these settings in persistor_datanucleus.properties: isis.persistor.datanucleus.impl.datanucleus.schema.autoCreateAll=true isis.persistor.datanucleus.impl.datanucleus.schema.validateTables=true isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true It worked fine, as I say, (Before I ran the app, that database was empty). HTH Dan [1] http://imgur.com/i27Xl8j [2] b1fdaccf04231a6c91a3774a90b99c7b314cd0ae to be exact On 5 July 2016 at 01:03, Simecsek Timothy <timothy.simec...@nttdata.com> wrote: > Hi Fabio, > > All Isis Modules are using their own schema since Apache ISIS 1.9 - have > you checked if there are other schemas? > > If you want to avoid that and generate the tables for security module in a > specific schema I found the only working solution is with package.jdo in > META-INF directory, but you need to specify all queries, here the excerpt > for security module of mine package.jdo file: > <?xml version="1.0" encoding="UTF-8" ?> > <jdo xmlns="http://xmlns.jcp.org/xml/ns/jdo/jdo" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/jdo/jdo > http://xmlns.jcp.org/xml/ns/jdo/jdo_3_0.xsd" version="3.0"> > > <!-- Security Addon --> > <package name="org.isisaddons.module.security.dom.user"> > <class name="ApplicationUser" > schema="a1ff" > table="IsisSecurityApplicationUser"> > <query name="findByUsername" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.user.ApplicationUser WHERE username == > :username > </query> > <query name="findByEmailAddress" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.user.ApplicationUser WHERE emailAddress > == :emailAddress > </query> > <query name="findByName" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.user.ApplicationUser WHERE > username.matches(:nameRegex) || familyName.matches(:nameRegex) || > givenName.matches(:nameRegex) || knownAs.matches(:nameRegex) > </query> > <query name="find" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.user.ApplicationUser WHERE > username.matches(:regex) || familyName.matches(:regex) || > givenName.matches(:regex) || knownAs.matches(:regex) || > emailAddress.matches(:regex) > </query> > </class> > </package> > <package name="org.isisaddons.module.security.dom.tenancy"> > <class name="ApplicationTenancy" > schema="a1ff" > table="IsisSecurityApplicationTenancy"> > <query name="findByPath" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.tenancy.ApplicationTenancy WHERE path == > :path > </query> > <query name="findByName" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.tenancy.ApplicationTenancy WHERE name == > :name > </query> > <query name="findByNameOrPathMatching" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.tenancy.ApplicationTenancy WHERE > name.matches(:regex) || path.matches(:regex) > </query> > </class> > </package> > <package name="org.isisaddons.module.security.dom.permission"> > <class name="ApplicationPermission" > schema="a1ff" > table="IsisSecurityApplicationPermission"> > <query name="findByRole" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.permission.ApplicationPermission WHERE > role == :role > </query> > <query name="findByUser" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.permission.ApplicationPermission WHERE > (u.roles.contains(role) && u.username == :username) VARIABLES > org.isisaddons.module.security.dom.user.ApplicationUser u > </query> > <query name="findByFeature" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.permission.ApplicationPermission WHERE > featureType == :featureType && featureFqn == :featureFqn > </query> > <query name="findByRoleAndRuleAndFeature" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.permission.ApplicationPermission WHERE > role == :role && rule == :rule && featureType == > :featureType && featureFqn == :featureFqn > </query> > <query name="findByRoleAndRuleAndFeatureType" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.permission.ApplicationPermission WHERE > role == :role && rule == :rule && featureType == > :featureType > </query> > </class> > </package> > <package name="org.isisaddons.module.security.dom.role"> > <class name="ApplicationRole" > schema="a1ff" > table="IsisSecurityApplicationRole"> > <query name="findByName" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.role.ApplicationRole WHERE name == :name > </query> > <query name="findByNameContaining" language="JDOQL"> > SELECT FROM > org.isisaddons.module.security.dom.role.ApplicationRole WHERE > name.matches(:nameRegex) > </query> > </class> > </package> > > Regards Timothy > > -----Ursprüngliche Nachricht----- > Von: Fabio Purcino [mailto:fa...@viacodigo.com.br] > Gesendet: Mittwoch, 29. Juni 2016 23:12 > An: users@isis.apache.org > Betreff: Security Module Addon Tables > > >Dear sirs, > > > >I'm currently developing a solution using Apache Isis. I have implemented > Security Module Addon "out-of-box" according to Dan's video tutorial. > > > >I'm persisting all data on a SQL Server Database but none of Security's > module tables are being created. > > > >Is there any additional configuration? > > > >Thanks, > > > >-- > >------------------------------------------------------------ > >Fábio Purcino Aragão > > ______________________________________________________________________ > Disclaimer: This email and any attachments are sent in strictest confidence > for the sole use of the addressee and may contain legally privileged, > confidential, and proprietary data. If you are not the intended recipient, > please advise the sender by replying promptly to this email and then delete > and destroy this email and any attachments without any further use, copying > or forwarding. >