Grails exportera rapporter.

12 views
Skip to first unread message

Albin Kjellin

unread,
Oct 14, 2010, 5:51:31 AM10/14/10
to SweGUG
Tjena,

På förra träffen så var det någon som hade testat jasper plugin:et
till Grails för att generera upp rapporter och sa något om att det
inte var en massa problem med det. Jag minns inte riktigt vilka
problem det var som nämndes.

Jag är i behov av något plugin med den funktionaliteten och lutar åt
att köra på jasper. Har testat pdf plugin:et tidigare och det var
smidigt att använda det räcker dock inte till i detta fallet. Har läst
en del om export plugin:et också men jag får inget riktigt grepp om
det.

Någon här som har erfarenhet av något av dem?

MVH

Albin

Göran Ehrsson

unread,
Oct 19, 2010, 9:05:04 AM10/19/10
to swe...@googlegroups.com
Erfarenhet ja, men tyvärr inte så aktuell erfarenhet.
Jag har använt både jasper och dynamic-jasper pluginerna för att göra rapporter. Men det är bara enklare listor, ingenting avancerat med sub-rapporter eller grupperingar/summeringar.

Mina användare använder fortfarande dessa rapporter varje vecka men det var över ett år sedan jag behövde ändra något i dem. Skulle jag få ett change request nu så skulle det nog ta lite tid att komma igång igen för jag har glömt hur allt hängde ihop. :-) Jag vet att jag använde IReport-pluginen till NetBeans för att bygga de rapporter som inte är rena listor. Till listrapporterna använde jag dynamic-jasper.

Som sagt, inte mycket att bidra med i dag, men om du har konkreta frågor kanske jag börjar minnas...

Mvh

/Göran Ehrsson


--
You received this message because you are subscribed to the Google Groups "SweGUG" group.
To post to this group, send email to swe...@googlegroups.com.
To unsubscribe from this group, send email to swegug+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/swegug?hl=en.


Leonard Axelsson

unread,
Oct 21, 2010, 9:00:49 AM10/21/10
to swe...@googlegroups.com
Hej Albin,

Det torde vara jag som pratade om Jasper Reports på förra mötet. Ursäkta att svaret har dröjt, precis kommit tillbaka från en liten höst-semester. Vet inte om svaret kommer för sent men här är det i vilket fall :) Berätta gärna om hur du har löst problematiken med rapporter och hur du i så fall löst det.

På Qbranch har vi använt Jasper Reports för att bygga rapporter. I vårt fall har det egentligen inte handlat så mycket om Grails då den data vi använt funnits i RESTful web services. Det vi i vårt fall använt Grails till är att exponera remote data som REST-tjänster samt att från en annan Grails-app initiera Jaspers rapport-generering. Mina kollegor som byggde den funktionaliteten fann Jasper pluginen för begränsande och byggde därför en egen lösning för detta. Vi har mao inte exponerat några befintliga domänklasser som Jasper rapporter.

Vi har byggt alla våra rapporter i iReport (WYSIWYG verktyg som körs som en Netbeans plugin eller Netbeans standalone). Det som jag antagligen klagade på på förra mötet var hur känsligt det verktyget är. Listan på problem vi haft med iReport kan göras lång men några "highlights" är:

- otydliga stacktraces istället för felmeddelanden
- dåligt med dokumentation: jag har fått en känsla av att man förväntas köpa support från Jasper själva eller åtminstone deras bok
- otydligt api: det blev väldigt mycket googlande innan vi lyckades lista ut hur vi i våra subrapporter skulle kunna använda en ny remote-xml datasource.
- komponenter som känns outvecklade eller saknar basic funktionalitet: till exempel behöver man generera nya java-klasser för att kunna välja ett eget färgschema i deras grafer

...med mera, med mera. Så här i efterhand är jag väldigt osäker på om Jasper verkligen var en bra idé. Vi hade hoppats på att kunna göra en grundrapport med alla data för att senare lämna över den till business för förfining. Den förhoppningen har vi helt strukit, verktyget är helt enkelt alldeles för känsligt och opålitligt. Skulle inte påstå att det är värdelöst och om sanning skall fram har vi säkerligen ställt till en del problem för oss själva genom att välja att jobba med XML som datakälla istället för SQL (vilket iReport verkar vara tänkt för) men min åsikt är att det bara måste finnas enklare sätt att skapa rapporter.

Självklart beror det hela mycket på vad man skall använda sina rapporter till och dynamic jasper (vilket vi inte använt) verkar helt klart trevligt. Om du använder Jasper Reports och behöver hjälp är det bara att höra av dig, skulle verkligen inte påstå att vi blivit några experter, men ett gäng fallgropar har vi ramlat i... :) (bland annat subreports och olika datakällor för varje subreport)

Tog en snabb titt på vad som finns tillgängligt och den plugin som spontant verkar mest intressant är "rendering plugin" som underhålls av The Grails Plugin Collective (torde ge någon sorts garant för att den kommer fortsätta underhållas). Den verkar ge stöd för att generera vanliga GSP:er som PDF, PNG osv vilket borde göra rapporterna relativt enkla att bygga. Dynamic Jasper verkar också rätt trevlig men ren Jasper skulle jag som du säkert förstår hålla mig undan ifrån då inlärningskurvan är rätt brant samtidigt som förtjänsten inte verkar vara lika hög.

Grails Rendering Plugin: http://www.grails.org/plugin/rendering

Nej nu har jag rabblat på alldeles för länge. Grattis om du orkat dig ner ändå hit, eller tack kanske man skall säga :)

Mvh,
/Leo
The SweGUG Crew

Albin Kjellin

unread,
Oct 22, 2010, 9:17:18 AM10/22/10
to swe...@googlegroups.com
Tjena,

Tack för bra och informativa svar Göran och Leonard.

Bakgrunden till detta är att jag har byggt ett tidrapporteringsystem i  Grails, www.trackintime.com. Till detta behöver jag en smidigt och relativt flexibelt rapporteringsfunktion. Tanken är att en användare skall kunna generera rapporter för sig själv, sitt företag eller ett projekt som pdf och xls för en viss period.

Valet föll ändå på jasper report plugin:et och jag börjar närma mig en första release nu. Jag kan hålla med om att det tar ett tag innan man blir kompis med hur allt funkar och själva grails plugin:et känns lite sådär, framförallt när det gäller att föda rapporten med data. Hur som helst så tyckte jag att när man väl fått klart för sig hur det hänger ihop så är det ganska produktivt. Dock ska jag säga att jag inte har några subrapporter eller några mer avancerade grejer utan för närvarande är det mest enkla listor.

Jag kollade också lite på rendering plugin:et men jag hade planer på att användare själva skulle få generera en design av sina rapporter och då lär man ha något iReport liknande. Finns en del utmaningar med det också som att se till att de inte kan välja “fel” fonter mm.

Vad det gäller dokumentationen så fattade jag som att det fanns dokumentation ifall man betalade för sig. Men jag håller med om att det var mycket forumletande innan man fick allt att hålla ihop.

MVH

Albin
www.trackintime.com

Leonard Axelsson

unread,
Oct 27, 2010, 4:47:20 AM10/27/10
to swe...@googlegroups.com
Hej Albin,

Kul att det funkar för dig. Ser fram emot vidare diskussioner om iReport i framtiden ;) Vad det gäller att låta "användare" använda iReport för att generera rapporter så är jag som sagt skeptiskt men i vårt fall är det kanske lite annorlunda då just det är något som vi faktiskt kan välja bort.

Mvh,
/Leo

------------------------------------------------------
Leonard Axelsson

Mobile: +46-732-312185
Twitter: xlson

Niklas Lindström

unread,
Oct 28, 2010, 4:43:42 AM10/28/10
to swe...@googlegroups.com
Hej!

Intressant att höra om upplevelserna med olika verktyg!

2010/10/21 Leonard Axelsson <leonard....@gmail.com>:

> Tog en snabb titt på vad som finns tillgängligt och den plugin som spontant
> verkar mest intressant är "rendering plugin" som underhålls av The Grails
> Plugin Collective (torde ge någon sorts garant för att den kommer fortsätta
> underhållas). Den verkar ge stöd för att generera vanliga GSP:er som PDF,
> PNG osv vilket borde göra rapporterna relativt enkla att bygga. Dynamic
> Jasper verkar också rätt trevlig men ren Jasper skulle jag som du säkert
> förstår hålla mig undan ifrån då inlärningskurvan är rätt brant samtidigt
> som förtjänsten inte verkar vara lika hög.
> Grails Rendering Plugin: http://www.grails.org/plugin/rendering

Den ser lovande ut; inte minst eftersom den använder xhtmlrenderer /
The Flying Saucer Project (<https://xhtmlrenderer.dev.java.net/>). Den
har vi använt på Domstolsverket för att generera PDF:er av
dokumentation vi har, som skrivs som (eller genereras till) xhtml.
Bara att styla med CSS, vilket ju är som det borde vara.

Har testat diverse verktyg för kombon XHTML+CSS (3 och/eller custom
extensions för paged media), och det finns en del schysta snurror
(även i C, Python m.m.). Vi kommer förhoppningsvis att slippa XSL-FO
och andra mer primitiva/tillkrånglade/formatproprietära alternativ i
framtiden. :)

Mvh,
Niklas

Reply all
Reply to author
Forward
0 new messages