Thanks Deacon and Cesar for sharing your adventures. I agree that it can be a bumpy road sometimes but good to hear the framework will take you places. Your contributions can smoothen the path for future explorers.
Cheers, Jeroen On 15 July 2016 at 19:32, Andre Venter <andre.n.ven...@gmail.com> wrote: > Well done Deacon! > > On Fri, Jul 15, 2016 at 7:27 PM, César Camilo Lugo Marcos < > cesar.l...@sisorg.com.mx> wrote: > > > Deacon, > > > > What a great summary, congratulations! > > > > I want to take the opportunity to add some stuff: > > > > More great stuff: > > - We have tested our Apache ISIS application in an AWS cloud load > > balanced environment including some level of volume concurrency testing. > > So far so good. We are expecting to have millions of users, and so far > > it looks like, with proper load balancing and fail-over, it will do the > > job. > > > > - We are using it in conjunction with mobile applications leveraging the > > flexibility and automation of N.O. restful services. It's just amazing > > how it simplifies RESTful services consumption in a mobile environment, > > particularly the ability to "join" results with the xo prefix. > > > > More wish list: > > - Mutable collections grids in the wicket viewer. > > - Image collections shown as images. > > - Configurable UI filters by domain entities, allowing to filter by > > multiple attributes, with multiple types of filters (radio, range, > > boolean condition). > > - More business needs oriented add-ons, particularly if they follow > > industry-standards through the use of ontologies. So far the ones > > available are more technical, and they do a great job, like maps, audit > > and multi-tenant. > > > > I think the RO domain model and the restful services are quite mature > > and powerful, and the wicket viewer is a little behind but evolving in > > the right direction. Also, Dan mentioned that eventually they will add > > some more powerful viewers, which sounds quite exciting!. > > > > César. > > > > On Fri, 2016-07-15 at 18:11 +0200, Deacon Frost wrote: > > > I successfully delivered my first "real" Apache Isis application today > -- > > > YAY!! -- and would like to share my experience. > > > > > > My background: I am a reasonably experienced developer proficient in > > custom > > > application development in C#, Java, Javascript, Python etc. but never > > > touched Apache Isis nor Apache Wicket nor DataNucleus before, my Java > > chops > > > are a bit rusty and I am a complete Maven noob. > > > > > > I have been following NakedObjects since the early 2000's and am quite > > > intrigued by its philosophy and promises but never mad the "plunge" to > > > actually implement a project for a client with it. I checked out Apache > > > Isis on and off (hey, I even bought and enjoyed Dan's book in 2009 or > so) > > > but - without wanting to sound blasé - the UI was never quite up to my > > > taste (the .NET-Version was even worse). But the recent changes to the > > look > > > and feel of the Bootstrap Wicket interface made me confident to finally > > be > > > able to "sell" it to clients. > > > > > > The target application is - in a nutshell - an internal web-application > > for > > > a government department to define and configure traffic webcams > (~1000), > > > locate them interactively on a map, display their latest images, link > > them > > > to their road network data etc. Nothing too complex but the right size > to > > > try something new, I guess. > > > > > > The great: > > > I implemented a working prototype of the application in under a > week(!), > > > which already looked very polished and had lots of "bells and > whistles", > > > like a Google Maps interface, display of live images, Excel-export, > > > auditing-service, REST-interface etc.. The client was positively > > surprised > > > by the polished looks and richness of features and went for it. So, > > within > > > two weeks after that I was able to implement the complete application, > > > reusing most of the work implemented in the prototype. > > > > > > I had to implement two Isis wicket components: > > > - Display of a map (Locatable) based on OpenStreetMap: > > > I had trouble getting the Google map interface to work in the client's > > > environment. It kept complaining about application keys etc. and wasn't > > > usable at all. Thanks to the "wicket stuff" implementation of > openlayers3 > > > and a shameless "raid" of Dan's gmap3-isis-component I was able to > build > > an > > > openlayers3-isis-component myself, despite my utter isis/wicket > > noob-ness. > > > - Display of static image resources: > > > The "standard" Blob-interface didn't cut it for me because it only > > > displays a thumbnail image (which was even of a bigger byte size and > > lower > > > resolution than the original) of an image resource from memory/db. I > was > > > able to build an Isis ExternalImageUrl-component by copying much of the > > > Blob/Clob-component but using static URLs, which works flawlessly for > > > displaying the original images based on an "ExternalImageUrl"-Property > of > > > the entity. > > > > > > (Once the dust has settled I want to contribute the openlayers3- and > > static > > > image components. Maybe one of you guys can provide me with a little > > > guidance how to set that up...) > > > > > > I had some minor questions that got answered instantly by Dan and Co on > > the > > > mailing list. Thanks again! > > > > > > The ability to define aspects of the interface in the XML-layout files > is > > > great (despite some minor quirks with the translation)! Studying the > > > TodoApp helps a lot in this regard. > > > > > > The not-so-great: > > > > > > I think the code base is still quite dynamic, which is good in a way > > > because it gets actively developed (does Dan ever sleep? ;)) but it's > > also > > > difficult for a noob to jump in. I happened to work with the sources > > right > > > before the 1.12.2 release which had some annoying "surface" bugs and in > > > 1.13-SNAPSHOT some subtleties of the Isis-components implementation > > already > > > changed. > > > I18ln: > > > There are lots of labels hard-coded in English (I'm looking at you: > > > bookmarks-display, list pager, signin fields, excel download etc.) > which > > > can be a real show stopper for certain clients in certain locales > > (France, > > > Germany, ...). Plus, if you want to fix these kinds of errors you need > to > > > understand the Wicket-way of doing this plus the way Isis goes about it > > as > > > well. And then do it for the contribs also. Surprisingly complex for a > > > beginner even if they are by themselves all just small trivial fixes. > > > Documentation: > > > All in all the documentation is great and better than much of the other > > > stuff out there, but a lot of details are missing to really understand > > the > > > concepts behind value objects, enum types, facets, objects not > > originating > > > from a database and the like. > > > Furthermore, there is not a lot of info or "hand holding" about how to > > take > > > an application from prototyping to production. I had to spend a lot of > > time > > > figuring out how to get a jetty runner working with an "uberjar" in > > > headless mode as a service with "external" configuration (the internal > > Isis > > > Server didn't work for me at all, but that might also just due to my > > > inexperience). > > > > > > Wish list: > > > - Better out-of-the-box handling of the display of external/static > > > resources (Images, IFrames(!) etc.) > > > - A component for pageable display of entity collections in a grid > > > - A tree component > > > > > > All in all I definitely see Apache Isis as a great and clean way of > doing > > > these kinds of applications and I want to encourage people to just try > it > > > out for a project and see for themselves -- IMHO it's quite low risk > and > > > lots of fun!, especially if you can go with the existing components. It > > > gives me quite a bit of confidence that even adding substantial new > > > functionality - once you get the model right - just works. (Guess I'm > > > preaching to the choir here here anyway ;) > > > > > > Cheers and a have a great weekend, > > > > >