incubator-isis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Burton <>
Subject Re: Reports
Date Tue, 14 Dec 2010 21:01:25 GMT
Many thanks Dan,

My Report class does similar to PdfRenderService & XlsGenerationService etc, I should
probably spilt it into separate classes, with adapters for each platform (seam, jsf, servlet...)
I could then see generation & customisation of layouts working in a similar way to Facelets
Views, so will give it more thought. 

Might there be a better name for it than "view model" btw?

( iPhone)

On 14 Dec 2010, at 19:22, Dan Haywood <> wrote:

> Hi Mike,
> Sorry not to reply sooner.  Thought I'd pick this thread up from your original question.
> On 09/12/2010 17:41, Mike Burton wrote:
>> To improve my understanding of Isis and to establish new potential features, I'm
adopting a "devil's advocate" approach by looking at features I add to my projects and asking
"can (or should) Isis do this"
>> In this way I thought of _reports_, with filtering, sub/totals, and output to PDF/
>> The data to report on may be Domain Objects, or joins / query results (perhaps "ViewModels"
ie similar to "Views" in database parlance.)
>> How would Isis approach this?
> The way we've done this sort of thing on the big Irish project is to either extract information
out of the domain objects themselves, or to create a "view model" that aggregates relevant
information into a single transient (never persisted) object.  We then hand this raw information
off to an injected domain service, which does the actual work of generating the PDF, XLS etc.
> For example, for sending out letters we have a FormCommunication (this is the view model).
 This references a Customer, some of the relevant relationships of that Customer (eg spouse/child
etc), Benefits and so on.  We then use the XmlSnapshot capability (see either my book or the
new applib documentation, chapter 12) to generate XML.  From this we can do whatever: apply
XSLT, use Xpath to extract info, etc etc.
> So... is there functionality missing from Isis?  Well, only insofar that'd it'd be nice
to have a bunch of these domain services (PdfRenderService, XlsGenerationService etc) available
for reuse.  This'd be a nice project for someone to pick up.  I was thinking that eventually
these precanned domain services might live under trunk/domain/services (you'll notice a placeholder
in the maven modules page on the wiki [1]).
> HTH,
> Dan
> [1]
>> Best regards
>> Mike Burton

  • Unnamed multipart/alternative (inline, 7-Bit, 0 bytes)
View raw message