Hi Joe,


there are several levels where you could integrate Birt with Fez for reporting.


a)      Develop a fez add-on which serves as a data-source in birt. The add-on does all the communication with MySQL, Solr and Fedora (you’d probably only need MySQL and Fedora). This is also where the data is aggregated (e.g. user information combined with foxml). This requires substantial knowledge of PHP and MySQL, although you can use Fez classes to do the actual querying.

b)      Use Fez MySQL as a birt datasource – this will not give you the full change history because it is in Fedora (but do you really need this?)

c)       Use raw Fedora XML (Foxml) as datasource in Birt. Fedora saves all metadata as XML objects in the filesystem (objects directory). You could try to access these directly. Although this will not give you information about individual users.


If you look at these options, you see that a) gives you the nicest and most complete integration (reporting on everything), but is also the most expensive (I’d estimate 3-4 programmer’s weeks for a skilled programmer).


Option b) is for sure worth a try – you could without programming, see http://dev.mysql.com/tech-resources/articles/using-birt/ as an example.


Option c) gives you access to some data otherwise not accessible, but misses the aspects of individual users.


I’d first try option b) – configure a new birt report on the Fez database and see how far you can get (without any programming). Later on, it might still be possible to configure an additional birt SOAP datasource and access Fedora directly (ah, this is actually option c2).


Good luck – keep me updated…


Cheers, Kai

PS. I post this reply also to the mailing list as it may be of interest to other users. Please check out also Christiaan’s response…



ETH Zürich, Kai Jauslin, ETH-Bibliothek, Prozesse und IT, Integration und Entwicklung, Rämistrasse 101, CH-8092 Zürich, Tel +41-44-6324972, Büro HG H29.5, kai.jauslin@library.ethz.ch, www.ethbib.ethz.ch


Von: Joseph Heaphey [mailto:joseph.heaphey@deakin.edu.au]
Gesendet: Freitag, 14. August 2009 06:29
An: Jauslin Kai
Betreff: RE: Regular reports from fez-fedora


Hi Kai,


Thanks so much for your response.  BIRT sounds like a possibility, but I don’t know enough about it yet to know if I should pursue it further.  You mentioned that if I integrate BIRT with Fez/Fedora/Solr, I would have to develop a Fez add-on.  Could you give me a few hints as to what this would involve?  Thanks again for your help.


Kind regards,




From: Kai Jauslin [mailto:kai.jauslin@library.ethz.ch]
Sent: Thursday, 13 August 2009 7:02 PM
To: Joseph Heaphey
Cc: Giuliani Germano
Subject: Re: Regular reports from fez-fedora


Hi Joe,

we don't need to do internal reporting because our data comes from external sources and no external users are working directly in Fez. I don't know of anybody currently working on this for Fez.

What we are currently developing internally is a SOAP webservice layer as an interface for external reporting. This layer accesses directly the Solr index (very fast querying!) or the Fez MySQL database. However, only data in the MySQL database (=Fez cache) or the Solr index (=search keys). For some of your queries you would need to access the change history, which you can only get from Fedora.

I know of other products using BIRT (http://www.eclipse.org/birt/phoenix/) as an end-user reporting frontend and could imagine, that it is possible to integrate this with Fez/Fedora/Solr on different layers. Although this would mean you'd have to develop a Fez add-on. If you are interested in going this way, I might be able to give you some hints on the best way of integration.

Best regards,

Joseph Heaphey schrieb:

Dear Kai,


I’ve been asked to look into preparing regular reports from fez (whether using fez or other tools) and I would be interested to know how you or anyone else in the Fez community is doing this.


Here are some examples of reports that we are interested in:

report of security set on objects (e.g. whether it inherits security from parent, who can see it, edit it, etc.)

list of work added or amended by a specific user between specific dates

count and list of objects added between specific dates

report of broken urls. 


So far we have just done ad hoc reporting (using various combinations of SQL, perl, xslt, and php), at times using the fez database and at other times having to pull data from fedora.  Ideally, we would like a way for at least some of these reports to be run by non-technical staff.  Do you have any ideas about this or know of anyone who has done this already?


Many thanks,

Joe Heaphey



Joseph Heaphey, Digitisation Services Analyst, Library
Deakin University Geelong Victoria 3217 Australia.
Phone: 03 5227 8236 International: +61 3 5227 8236
Fax: 03 5227 8000 International: +61 3 5227 8000
ICQ: 229654280
Email: joseph.heaphey@deakin.edu.au

Website: http://www.deakin.edu.au
Deakin University CRICOS Provider Code 00113B (Vic)

Important Notice: The contents of this email are intended solely for the named addressee and are confidential; any unauthorised use, reproduction or storage of the contents is expressly prohibited. If you have received this email in error, please delete it and any attachments immediately and advise the sender by return email or telephone.
Deakin University does not warrant that this email and any attachments are error or virus free