On 25/06/2012 12:51, ernst Developer wrote: > Hi Francesco, > > Thanks for the reply. > > What I understand from your reply is that I can create reports using > the reportlets, that I have to implement myself. What I basically get > by implementing a reportlet is some sort of client. This client > retrieves data from the syncope database, and transforms this data > into html or pdf. Hope my understanding is correct.
It is, indeed :) > What I would like to have is some sort of event handling system in > syncope, that provides the event data to, for instance, a database > table, or to a publish subscribe queue. Can you give me some advise > how to implement this? Do you think an approach like this will be > available in the future in syncope? The main goal here is to provide > the information to other users than syncope itself. I see: currently, the only kind of "events" you can catch are workflow-related, by using custom Task implementations; anything happening outside the worklfow cannot be, of course, handled this way. However, I think that some sort of "interceptor" feature could be very interesting to put in roadmap. For your reference, I'd think to use some good AOP for implementing this, anyway: this would allow to some high grade of flexibility while keeping the "main" code clean. Regards. > 2012/6/24 Francesco Chicchiriccò <[email protected] > <mailto:[email protected]>> > > On 22/06/2012 14:10, ernst Developer wrote: >> Hi, >> >> For reporting reasons we need data about events in Syncope. These >> events include: >> >> * create of a user in Syncope; >> * provisioning to the resources; including state of the >> provisioning; >> * update of a user in Syncope; >> * provisioning to the resources; including the state of the >> provisioning; >> * adding of a resource to a user; >> * removing of a resource; >> * delete of a user; >> * .... >> >> I was wondering how I should implement this, using the standard >> features of Syncope. Can you please help me out on this item, and >> point for instance the direction for the solution of this >> requirement. > > Hi Ernst, > you should be able to get most (but not everything) of what you > say above in 1.0.0 by implementing your own reportlet: report > feature is one of the newcomers in Syncope and is unfortunately > not yet documented. > > Basically, reports are aggregation of reportlets: each reportlet > captures a particular aspect you'd like to include in you report - > for example the UserReportlet deals with user attributes and > resources; reportlets produce output by SAX events (see [1] for an > example). > > You can of course write your own reportlet(s) by implementing [2] > or extending [3] + providing a couple of XSLT files for > transforming reportlet data into HTML and PDF / RTF respectively - > see some examples [4]. > > Once you have deployed your own reportlets, you are able to > configure one or more reports through the admin console. > > Hope this helps. > Regards. > > [1] > > https://svn.apache.org/repos/asf/incubator/syncope/tags/syncope-1.0.0-RC1-incubating/core/src/main/java/org/apache/syncope/core/report/UserReportlet.java > [2] > > https://svn.apache.org/repos/asf/incubator/syncope/tags/syncope-1.0.0-RC1-incubating/core/src/main/java/org/apache/syncope/core/report/Reportlet.java > [3] > > https://svn.apache.org/repos/asf/incubator/syncope/tags/syncope-1.0.0-RC1-incubating/core/src/main/java/org/apache/syncope/core/report/AbstractReportlet.java > [4] > > https://svn.apache.org/repos/asf/incubator/syncope/tags/syncope-1.0.0-RC1-incubating/core/src/main/resources/report/ > -- Francesco Chicchiriccò ASF Member, Apache Cocoon PMC and Apache Syncope PPMC Member http://people.apache.org/~ilgrosso/
