You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@syncope.apache.org by ernst Developer <er...@gmail.com> on 2012/06/22 14:10:40 UTC
How to generate events
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.
Regards,
Ernst
Re: How to generate events
Posted by Francesco Chicchiriccò <il...@apache.org>.
On 03/07/2012 15:00, ernst Developer wrote:
> Hi Francesco,
>
> I was wondering if the synchronization action classes could be useful
> for creating events. What do you think? Is it better than workflow?
> I was looking at:
> https://cwiki.apache.org/confluence/display/SYNCOPE/SynchronizationActionsClass
Hi Ernst,
this could be useful only for user modifications triggered by SyncJob:
if this fits your scenario, go ahead with it.
Regards.
> 2012/6/25 ernst Developer <ernst.developer@gmail.com
> <ma...@gmail.com>>
>
> Hi,
>
> So workflow tasks is the way to go at the moment.
>
> I totally agree upon your proposed event generating approach,
> using AOP. Using a configurable event handler implementation makes
> it flexible for every use case.
> The events do not have to provide all information, but only key
> values that can be used to retrieve the relevant extra information
> from the syncope database, would be enough I guess.
>
> Thanks for now,
> Ernst
>
> 2012/6/25 Francesco Chicchiriccò <ilgrosso@apache.org
> <ma...@apache.org>>
>
> 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ò <ilgrosso@apache.org
>> <ma...@apache.org>>
>>
>> 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/
Re: How to generate events
Posted by ernst Developer <er...@gmail.com>.
Hi Francesco,
I was wondering if the synchronization action classes could be useful for
creating events. What do you think? Is it better than workflow?
I was looking at:
https://cwiki.apache.org/confluence/display/SYNCOPE/SynchronizationActionsClass
Regards,
Ernst
2012/6/25 ernst Developer <er...@gmail.com>
> Hi,
>
> So workflow tasks is the way to go at the moment.
>
> I totally agree upon your proposed event generating approach, using AOP.
> Using a configurable event handler implementation makes it flexible for
> every use case.
> The events do not have to provide all information, but only key values
> that can be used to retrieve the relevant extra information from the
> syncope database, would be enough I guess.
>
> Thanks for now,
> Ernst
>
> 2012/6/25 Francesco Chicchiriccò <il...@apache.org>
>
>> 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ò <il...@apache.org>
>>
>>> 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 Memberhttp://people.apache.org/~ilgrosso/
>>
>>
>
Re: How to generate events
Posted by ernst Developer <er...@gmail.com>.
Hi,
So workflow tasks is the way to go at the moment.
I totally agree upon your proposed event generating approach, using AOP.
Using a configurable event handler implementation makes it flexible for
every use case.
The events do not have to provide all information, but only key values that
can be used to retrieve the relevant extra information from the syncope
database, would be enough I guess.
Thanks for now,
Ernst
2012/6/25 Francesco Chicchiriccò <il...@apache.org>
> 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ò <il...@apache.org>
>
>> 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 Memberhttp://people.apache.org/~ilgrosso/
>
>
Re: How to generate events
Posted by Francesco Chicchiriccò <il...@apache.org>.
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ò <ilgrosso@apache.org
> <ma...@apache.org>>
>
> 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/
Re: How to generate events
Posted by ernst Developer <er...@gmail.com>.
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.
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.
Regards,
Ernst
2012/6/24 Francesco Chicchiriccò <il...@apache.org>
> 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 Memberhttp://people.apache.org/~ilgrosso/
>
>
Re: How to generate events
Posted by Francesco Chicchiriccò <il...@apache.org>.
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/