Re: Updating DataNucleus to 4.2.0

2015-12-06 Thread Dan Haywood
Hi Willie,

You're right, upgrading to DN 4.2 will break that service.

Although we aim to preserve backwards compatibility between releases, this
might be worth making an exception for; I doubt that many people use that
API.  And I understand that the JDOQLTypeQuery replacement is more
functional.

As to whether there will be any complications in doing the upgrade, it's
hard to anticipate.  Generally upgrades have been relatively painless, even
the move from DN 3.x to 4.x when quite a lot of DN was rearchitected.  So
my guess is that the move from DN 4.1 to 4.2 should be fairly
straightforwad.

I've raised ISIS-1276 [1] for this work, have scheduled for 1.12.0.  But if
you want to spike it on a branch to see if there are any issues for you,
please do.

Cheers
Dan

[1] https://issues.apache.org/jira/browse/ISIS-1276


On 4 December 2015 at 03:51, Willie Loyd Tandingan 
wrote:

> Hi!
>
> Would there be any complications updating DataNucleus to 4.2.0? According
> to [1], They removed DataNucleus JDO Typesafe Query and replaced it with
> JDO 3.2 JDOQLTypeQuery so I think IsisJdoSupport is one thing that needs to
> be updated.
>
> Thanks!
>
> [1] http://www.datanucleus.org/products/datanucleus/migration.html
>


Re: Revamped documentation

2015-12-06 Thread Dan Haywood
On 4 December 2015 at 22:38, Stephen Cameron 
wrote:

> Thanks Dan, It was getting a bit too big I agree. Ideally something like
> the Eclipse help would be better for long term maintenance I guess, but
> that requires a server backend.
>
>
It's written in Asciidoc, which opens up lots of publishing methods.  At
some point I will get around to generating downloadable PDFs, for example.

Doesn't look like Eclipse help is an output, but there's a fairly rich
toolchain, see eg slide 13 of [1]


[1]
http://mgreau.com/posts/2015/06/22/asciidoc-create-and-publish-everywhere-from-anywhere.html




> On Sat, Dec 5, 2015 at 5:24 AM, Dan Haywood 
> wrote:
>
> > Hi folks,
> >
> > Just a heads-up to say that I've spent a happy day (not really) splitting
> > out and slightly reorganizing our documentation.
> >
> > The user guide and reference guide were rather too large, so have both
> been
> > broken up; the user guide is now in six parts:
> >
> > - fundamentals
> > - wicket viewer
> > - restful objects viewer
> > - security
> > - testing
> > - beyond the basics
> >
> > while the reference guide is in four:
> >
> > - annotations
> > - domain services
> > - configuration properties
> > - classes, methods, schema
> >
> > The layout stuff and the web.xml stuff that was in the old ref guide is
> now
> > in fundamentals and "beyond the basics", respectively.
> >
> > These are all referenced from our documentation page [1]
> >
> > My apologies; any bookmarks you might have had for the old user/reference
> > guides will be broken.  I couldn't find a way to cook this particular
> > omelette without breaking some eggs.
> >
> > But hopefully the guides will now be easier to grok and to use.
> >
> > Feedback welcome, as ever
> >
> > Cheers
> > Dan
> >
> > [1] http://isis.apache.org/documentation.html
> >
>


mixins

2015-12-06 Thread Stephen Cameron
Hi,

I've been reading up on a few things today, and came across the reference
to the DCI architecture in the mixins section. This discussion of the
separation of data-model from behavioural aspects (roles/algorithms) is
what I have been thinking of for a while, in fact I now recall reading that
paper [1]  some time ago, and maybe those ideas seeped into my subconscious
then.

Is there an example, maybe in Estatio, where that approach has been used
and provides a good example to study? I'm specifically interested in the
idea of data objects being given behavour vai mixins that then allows them
to be participants in a complex process, one that is maybe 'orchestrated'
by the same object that contributed the behaviours. I think this is what
Reenskaug and Coplien are talking of as a 'context', specifically account
objects being given roles in a bank transfer transaction process.

I am studying some legacy code for work and finding it difficult to
understand, the behavioural aspect is obscure. It will provide some
interest to at least prototype something better using Isis, to continue my
learning curve.

[1] http://www.artima.com/articles/dci_vision.html


Re: mixins

2015-12-06 Thread Stephen Cameron
Thanks Dan,

I want to keep thinking on this but best to play with a few things first
and come back later on with more questions.

But one quick question: Is it possible to implement my own Note class and
plug it in to the notes module in the same fashion as adding 'Notable' does?



On Mon, Dec 7, 2015 at 12:38 AM, Dan Haywood 
wrote:

> On 6 December 2015 at 09:23, Stephen Cameron 
> wrote:
>
> > Hi,
> >
> > I've been reading up on a few things today, and came across the reference
> > to the DCI architecture in the mixins section. This discussion of the
> > separation of data-model from behavioural aspects (roles/algorithms) is
> > what I have been thinking of for a while, in fact I now recall reading
> that
> > paper [1]  some time ago, and maybe those ideas seeped into my
> subconscious
> > then.
> >
> > Is there an example, maybe in Estatio, where that approach has been used
> > and provides a good example to study?
>
>
>
> Not in Estatio, but I've used it in Apache Isis itself for the Dto marker
> interface [2] use case (so can download XML and XSD for a JAXB-annotated
> class that implements this interface), and also in the incode note module
> so that can add/remove notes to any entity that implements Notable [3]
>
>
>
>
> > I'm specifically interested in the
> > idea of data objects being given behavour vai mixins that then allows
> them
> > to be participants in a complex process, one that is maybe 'orchestrated'
> > by the same object that contributed the behaviours. I think this is what
> > Reenskaug and Coplien are talking of as a 'context', specifically account
> > objects being given roles in a bank transfer transaction process.
> >
> >
> In Apache Isis' implementation the binding of roles to an object is static,
> based upon its type (class hierarchy / implemented interfaces).  I could
> imagine in the future this might become dynamic, though exactly how one
> expresses the "context" I am not sure.
>
>
> > I am studying some legacy code for work and finding it difficult to
> > understand, the behavioural aspect is obscure. It will provide some
> > interest to at least prototype something better using Isis, to continue
> my
> > learning curve.
> >
> >
> Because Isis uses the static type to bind the mixin to the domain object
> implementing the type (interface), it means that the information needed of
> the mixin upon the "mixee" is well-defined.  In the case of Notable_addNote
> and Notable_removeNote mixins, because they use the isis-module-poly class,
> this actually means that Notable is just a marker interface.  But one could
> imagine a different implementation where Notable might require that
> getNotes() is exposed as a collection, and then the mixins interact with
> that (and only that) method.
>
> More generally, I see mixins as being a useful way of keeping to the single
> responsibility principle and in particular the interface segregation
> pattern; they are also useful trick for inverting dependencies.  In other
> words, the S, I and D of SOLID [4]
>
> HTH
> Dan
>
> [2] http://isis.apache.org/guides/rgcms.html#_rgcms_classes_mixins_Dto
> [3]
>
> https://github.com/incodehq/incode-module-note/blob/master/dom/src/main/java/org/incode/module/note/dom/impl/note/Notable_addNote.java
> [4] https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
>
>
>
> > [1] http://www.artima.com/articles/dci_vision.html
> >
>


Re: AW: Unable to find component with id 'entityIconAndTitle'

2015-12-06 Thread Martin Grigorov
Hi Joerg,

Please share just the sources, preferably in .zip/.tar format or github
repo.
The shared folder in GDrive is ~150Mb. I guess there are a lot of jars
inside it.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Sun, Dec 6, 2015 at 2:59 PM, Dan Haywood 
wrote:

> I saw something like this myself with Kevin's recent issue with downloading
> actions that returned Blobs.  Turns out that the code looks at the compile
> time return type of the action when determining how to handle the response
> (eg a Blob requires a "deferred" strategy). Unfortunately this strategy
> can't be determined at runtime by inspecting the actual type of the
> returned object.
>
> I guess the error we have here is a missing strategy.  Perhaps the code
> should fail-fast if it has to guess?
>
> The code in question is ActionResultResponse
>  and ActionResultResponseHandlingStrategy.
>
> ~~~
> Joerg,
> appreciate that you have this working for you, but it'd be nice to get a
> less obscure error in the future.  When you said the example code was in
> google drive, was that sharing something the app privately with Martin?
> Could you share on github (or just copy-n-paste here?)
>
> Thanks
> Dan
>
>
>
> 2015-12-05 6:57 GMT+00:00 Martin Grigorov :
>
> > Hi,
> >
> > This is a really weird way to trigger this kind of exception.
> > I'll to debug it when I have some time.
> > On Dec 4, 2015 5:21 PM, "Rade, Joerg / Kuehne + Nagel / Ham GI-PS" <
> > joerg.r...@kuehne-nagel.com> wrote:
> >
> > > Hi Martin,
> > >
> > > I've put an app to Google Drive.
> > >
> > > Execute the FixtureScript and select 'Measurements'.
> > >
> > > Thanks for your help!
> > > Jörg
> > >
> > > -Ursprüngliche Nachricht-
> > > Von: Martin Grigorov [mailto:mgrigo...@apache.org]
> > > Gesendet: Freitag, 4. Dezember 2015 14:30
> > > An: users
> > > Betreff: Re: Unable to find component with id 'entityIconAndTitle'
> > >
> > > Hi,
> > >
> > > On Fri, Dec 4, 2015 at 3:21 PM, Rade, Joerg / Kuehne + Nagel / Ham
> GI-PS
> > <
> > > joerg.r...@kuehne-nagel.com> wrote:
> > >
> > > > Unable to find component with id 'entityIconAndTitle' in [FormGroup
> > > > [Component id = scalarIfRegular]]
> > > > Expected:
> > > >
> > >
> >
> 'theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> > > > *3*:property:scalarIfRegular:entityIconAndTitle'.
> > > > Found with similar names:
> > > >
> > >
> >
> 'theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> > > > *1*:property:scalarIfCompact:entityLink:entityIconAndTitle',
> > > >
> > >
> >
> theme:entityPageContainer:entity:entity-0:entityPropertiesAndCollections:entityProperties:leftColumn:memberGroup:1:properties:
> > > > *1*:property:scalarIfRegular:entityIconAndTitle'
> > > >
> > >
> > > The reason seems to be in the index of the repeater's item with wicket
> id
> > > "property".
> > > There is a property with index "1", but there are no with "2" and "3".
> > > I cannot tell what is the reason.
> > > Can you replicate this in a mini application?
> > >
> > > Martin Grigorov
> > > Wicket Training and Consulting
> > > https://twitter.com/mtgrigorov
> > >
> > > Kühne + Nagel (AG & Co.) KG
> > > Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> > > 812773878.
> > > Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Reiner Heiken (Vors.),
> Dirk
> > > Blesius, Martin Brinkmann, Matthias Heimbach, Jan-Hendrik Köstergarten,
> > > Nicholas Minde, Lars Wedel, Jens Wollesen.
> > > Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> > > Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> > > Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> > > Geschäftsleitung Region Westeuropa: Yngve Ruud (Vors.), Richard Huhn,
> > > Diederick de Vroet, Björn Johansson, Jan Kunze, Bruno Mang, Stefan
> Paul,
> > > Holger Ketz, Dominic Edmonds.
> > >
> > > Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> > > Spediteursbedingungen (ADSp), jeweils neuester Fassung. Wir verweisen
> > > insbesondere auf die vom Gesetz abweichenden Haftungsbeschränkungen von
> > > Ziffer 23 und 24 ADSp. Den vollständigen Text der ADSp übersenden wir
> > Ihnen
> > > gerne auf Anfrage und können Sie auch unter
> http://www.kuehne-nagel.com
> > > einsehen. Ergänzend wird vereinbart, dass (1) Ziffer 27 ADSp im Rahmen
> > > internationaler Übereinkommen weder unsere Haftung noch die Zurechnung
> > des
> > > Verschuldens von Leuten und sonstigen Dritten zu Gunsten des
> > Auftraggebers
> > > erweitert, und (2) wir in den im deutschen Seehandelsrecht aufgeführten
> > > Fällen des nautischen Verschuldens oder Feuer an Bord nur für eigenes
> > > Verschulden und (3) im Sinne der CMNI genannten Voraussetzungen nicht
> für
> > > nautisches Verschulden, 

Re: Revamped documentation

2015-12-06 Thread Stephen Cameron
 I've been thinking that documentation is one area that I can maybe make a
small contribution to the project. Asciidoc is probably quite good, seems
so from the slides. A reinvention of similar things but with a specific
focus. [XML or rather SGML was invented for exactly this purpose, why IDEs
haven't taken this on board like Word processors is baffling to me, no one
ever intended people to hand craft complex markup, but HTML changed that I
guess, to make use of simple text editors]

Related, I've been thinking it would probably be good to design a 1 or 2
day course in use of Apache Isis, make it self-guided, but also something
that could be used for actual courses to make a few dollars. Might help
with adoption too. The course notes and the general documentation would be
integrated.

The simple archetype is good, but I am suggesting that structured learning
is good too.

Probably cannot avoid the project committers writing the general
documentation, but a course is something else perhaps.

I see the course as being gentle way for not so experienced people (lke me)
to be eased into the way of thinking behind Isis. In taking it up you do
tend to become focused on specific aspects and miss out on others (usually
by rushing into a project). So help in really getting an understanding of
the breadth early on would be good, I am now trying to do that properly
after many months. Also, observing new adoptees in a course situation
provides a fast feedback loop.

Maybe you have thoughts of another book Dan & Jeroen, but management types
who have to evaluate adoption risks maybe would go for a course more than a
book. Of course both are possible and reinforcing.



On Mon, Dec 7, 2015 at 1:03 AM, Dan Haywood 
wrote:

> On 4 December 2015 at 22:38, Stephen Cameron 
> wrote:
>
> > Thanks Dan, It was getting a bit too big I agree. Ideally something like
> > the Eclipse help would be better for long term maintenance I guess, but
> > that requires a server backend.
> >
> >
> It's written in Asciidoc, which opens up lots of publishing methods.  At
> some point I will get around to generating downloadable PDFs, for example.
>
> Doesn't look like Eclipse help is an output, but there's a fairly rich
> toolchain, see eg slide 13 of [1]
>
>
> [1]
>
> http://mgreau.com/posts/2015/06/22/asciidoc-create-and-publish-everywhere-from-anywhere.html
>
>
>
>
> > On Sat, Dec 5, 2015 at 5:24 AM, Dan Haywood <
> d...@haywood-associates.co.uk>
> > wrote:
> >
> > > Hi folks,
> > >
> > > Just a heads-up to say that I've spent a happy day (not really)
> splitting
> > > out and slightly reorganizing our documentation.
> > >
> > > The user guide and reference guide were rather too large, so have both
> > been
> > > broken up; the user guide is now in six parts:
> > >
> > > - fundamentals
> > > - wicket viewer
> > > - restful objects viewer
> > > - security
> > > - testing
> > > - beyond the basics
> > >
> > > while the reference guide is in four:
> > >
> > > - annotations
> > > - domain services
> > > - configuration properties
> > > - classes, methods, schema
> > >
> > > The layout stuff and the web.xml stuff that was in the old ref guide is
> > now
> > > in fundamentals and "beyond the basics", respectively.
> > >
> > > These are all referenced from our documentation page [1]
> > >
> > > My apologies; any bookmarks you might have had for the old
> user/reference
> > > guides will be broken.  I couldn't find a way to cook this particular
> > > omelette without breaking some eggs.
> > >
> > > But hopefully the guides will now be easier to grok and to use.
> > >
> > > Feedback welcome, as ever
> > >
> > > Cheers
> > > Dan
> > >
> > > [1] http://isis.apache.org/documentation.html
> > >
> >
>