Exciting news.

On Mon, Dec 14, 2015 at 8:06 AM, Óscar Bou - GOVERTIS <[email protected]>
wrote:

> Hi, Dan.
>
> Really nice work!
>
> It opens up a whole new world of options, allowing Apache Isis to be a
> first class option for modeling the Domain of Webapps implemented by other
> technologies.
>
> There are plenty of Web / Mobile UI frameworks or dev environments out
> there, but neither of them have specific support for implementing a good
> Domain Model.
> In fact, nearly all them use the ActiveRecord pattern or, worst, “domain
> scaffolding” …
>
>
> So this positions Apache Isis as a first class option for the “Domain
> Model” on nearly all web technology out there supporting Swagger (nearly
> all nowadays…).
>
>
> Congrats all !
>
>
>
> > El 13 dic 2015, a las 17:49, Dan Haywood <[email protected]>
> escribió:
> >
> > Hi folks
> >
> > We've recently been working on building a new mobile app recently [1],
> > leveraging the new content negotiation stuff in 1.11.0-SNAPSHOT that
> > returns simplified representations.
> >
> > To help build this app we've also put together integration with Swagger
> > UI.  The mobile app example demonstrates this, and we'll make it part of
> > the simpleapp archetype for 1.11.0.
> >
> > The app itself uses Ionic, which is a mobile framework that sits on top
> of
> > AngularJS.  What's nice about this particular framework is that it
> > leverages Apache Cordova, so the mobile apps can be packaged as either
> iOS
> > or Android apps.  The app uses the Apache REST API, and also implements
> > HTTP Basic auth.
> >
> > I've also recorded a pair of screencasts, one demonstrating the swagger
> UI
> > [2] and the second demonstrating the ionic frontend [3].  They are a bit
> > rough-n-ready, but hopefully give the general gist.  The ionic app
> doesn't
> > actually use any of the swagger generated stubs, but the swagger UI is
> > still very handy to help understand the data available in the REST API.
> >
> > Feedback welcome as ever, some more detailed notes below.
> >
> > Cheers
> > Dan
> >
> >
> > ~~~~
> > Some further notes:
> > - the contactapp [1] is structured as "frontend" and "backend".  I
> modified
> > the various gulp files etc so that "ionic serve" publishes not to "www"
> but
> > instead to ../backend/webapp/src/main/webapp/frontend.  This means that
> the
> > Isis webapp can host the frontend as a webapp that calls back on itself.
> > - in web.xml [4], you should set whenNoSession to "unauthorized".  The
> > default, "basicAuthChallenge", causes chrome to pop up its own auth
> prompt
> > dialog, which isn't what we want.
> > - the basic design for security is for the login controller to attempt to
> > access /restful/user using a HTTP basic auth header [5].  If it succeeds
> > then this is made the default for all subsequent requests [6]
> > - it isn't necessary to configure swagger-ui to make this work, but if
> you
> > want to do so, then the only requirements are to change the web.xml [7]
> and
> > to copy in the swagger-ui/index.html file verbatim [8]
> >
> >
> > [1] https://github.com/incodehq/contactapp
> > [2] https://youtu.be/87UhGeNXSHc
> > [3] https://youtu.be/7rL8vQEHZgE
> > [4]
> >
> https://github.com/incodehq/contactapp/blob/40fc861fc25c146ad54d6ec1d040655d0fa1b25a/backend/webapp/src/main/webapp/WEB-INF/web.xml#L293
> > [5]
> >
> https://github.com/incodehq/contactapp/blob/40fc861fc25c146ad54d6ec1d040655d0fa1b25a/frontend/src/authentication.js#L79
> > [6]
> >
> https://github.com/incodehq/contactapp/blob/40fc861fc25c146ad54d6ec1d040655d0fa1b25a/frontend/src/authentication.js#L61
> > [7]
> >
> https://github.com/incodehq/contactapp/blob/40fc861fc25c146ad54d6ec1d040655d0fa1b25a/backend/webapp/src/main/webapp/WEB-INF/web.xml#L196
> > [8]
> >
> https://github.com/incodehq/contactapp/blob/40fc861fc25c146ad54d6ec1d040655d0fa1b25a/backend/webapp/src/main/webapp/swagger-ui/index.html
>
>

Reply via email to