Good stuff. Cheers, Dan On 27 Sep 2015 09:38, "Stephen Cameron" <steve.cameron...@gmail.com> wrote:
> sure enough, when I gave package access to domainapp.app.services.homepage > to my general user - Voila! > > On Sun, Sep 27, 2015 at 6:09 PM, Stephen Cameron < > steve.cameron...@gmail.com > > wrote: > > > re " I have the home page as it appears in the security demo" > > > > sorry, that is not so, its the right 'welcome' page. So must be just > > permissions. > > > > On Sun, Sep 27, 2015 at 5:13 PM, Dan Haywood < > d...@haywood-associates.co.uk > > > wrote: > > > >> Not sure. > >> > >> What I can tell you is that the home page is simply the result of the > >> framework invoking a domain service annotated with @HomePage (or to be > >> more > >> precise, one that has a HomePageFacet). If one cannot be found in all of > >> the services, then the index.html page (somewhere in the webapp module > and > >> as specified in your app's subclass of IsisWebApplication) will be > >> rendered. If more than one such service can be found, then the app will > >> fail to boot with a metamodel validation error. > >> > >> My guess is that the domain service you have with an @HomePage > annotation > >> isn't within the last of packages derived from the module package names. > >> As > >> a quick check, you could add the service class itself to the list > returned > >> from getModules() and see what happens. > >> > >> With respect to the marker classes you've added for security module, > there > >> is a class called simply SecurityModule that you could use. > >> > >> HTH > >> > >> Dan > >> On 27 Sep 2015 07:42, "Stephen Cameron" <steve.cameron...@gmail.com> > >> wrote: > >> > >> > I see the following on the home page always, even when a new user logs > >> in > >> > other than isis-module-security-admin: > >> > > >> > Apache Isis <http://isis.apache.org>™ is a platform to let you > rapidly > >> > develop domain-driven apps in Java. > >> > > >> > This app has been generated using Apache Isis' SimpleApp > >> > < > >> http://isis.apache.org/intro/getting-started/simple%61pp-archetype.html > > > >> > archetype, to create a purposefully minimal application that > >> nevertheless > >> > includes fixture data, integration tests and BDD specs. > >> > > >> > The app itself consists of a single domain class, SimpleObject > >> > < > >> > > >> > https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObject.java > >> > >, > >> > along with an equally simple (factory/repository) domain service, > >> > SimpleObjects > >> > < > >> > > >> > https://github.com/apache/isis/blob/master/example/application/simple%61pp/dom/src/main/java/dom/simple/SimpleObjects.java > >> > >. > >> > > >> > > >> > For more details, see the Apache Isis website > >> > <http://isis.apache.org/documentation.html>. > >> > > >> > On Sun, Sep 27, 2015 at 3:40 PM, Stephen Cameron < > >> > steve.cameron...@gmail.com > >> > > wrote: > >> > > >> > > Hi, > >> > > > >> > > I am making use of the Apache Isis security module addon. I've > >> configured > >> > > it using the new App Manifest means, but have one issue, which is > how > >> is > >> > > the home page being created now? > >> > > > >> > > I have the home page as it appears in the security demo, rather than > >> the > >> > > one that I created in my app. Its not clear to me why Isis is > >> picking up > >> > > the alernative SecurityModuleApplication rather than my customised > >> > > HomePageViewModel. > >> > > > >> > > To make it work with the AppManifest, I have the following: > >> > > > >> > > package domainapp.app; > >> > > > >> > > import java.util.Arrays; > >> > > import java.util.Collections; > >> > > import java.util.List; > >> > > import java.util.Map; > >> > > > >> > > import org.apache.isis.applib.AppManifest; > >> > > import org.apache.isis.applib.fixturescripts.FixtureScript; > >> > > import > org.isisaddons.module.security.dom.DomainAppSecurityDomModule; > >> > > import > >> org.isisaddons.module.security.seed.DomainAppSecuritySeedModule; > >> > > > >> > > import au.com.scds.chats.dom.DomainAppDomainModule; > >> > > > >> > > import domainapp.fixture.DomainAppFixtureModule; > >> > > > >> > > /** > >> > > * Bootstrap the application. > >> > > */ > >> > > public class DomainAppAppManifest implements AppManifest { > >> > > > >> > > /** > >> > > * Load all services and entities found in (the packages and > >> > > subpackages within) these modules > >> > > */ > >> > > @Override > >> > > public List<Class<?>> getModules() { > >> > > return Arrays.asList( > >> > > DomainAppDomainModule.class, // domain (entities > and > >> > > repositories) > >> > > DomainAppFixtureModule.class, // fixtures > >> > > DomainAppAppModule.class, // home page service > >> etc > >> > > DomainAppSecurityDomModule.class, //security > >> > > DomainAppSecuritySeedModule.class, //seed the > security > >> > > admin user > >> > > > >> > > org.isisaddons.wicket.gmap3.cpt.service.Gmap3ServiceModule.class > >> //Google > >> > > Gmap Geocoding Service > >> > > ); > >> > > } > >> > > > >> > > /** > >> > > * No additional services. > >> > > */ > >> > > @Override > >> > > public List<Class<?>> getAdditionalServices() { > >> > > //return Collections.emptyList(); > >> > > return Arrays.asList( > >> > > > >> > > > >> > > >> > org.isisaddons.module.security.dom.password.PasswordEncryptionServiceUsingJBcrypt.class, > >> > > > >> > > > >> > > >> > org.isisaddons.module.security.dom.permission.PermissionsEvaluationServiceAllowBeatsVeto.class > >> > > ); > >> > > } > >> > > > >> > > > >> > > I've added these two 'marker' classes to my app so the security > domain > >> > > service classes will be discovered: > >> > > > >> > > org.isisaddons.module.security.dom.DomainAppSecurityDomModule.class > >> > > > org.isisaddons.module.security.seed.DomainAppSecuritySeedModule.class > >> > > > >> > > > >> > > Steve C. > >> > > > >> > > >> > > > > >