Based on the chat with Johann he suggested to support claims at event publisher. @Indunil, can you get the full requirements and update the thread.
Regards Suho On Mon, Aug 1, 2016 at 11:24 PM, Mohanadarshan Vivekanandalingam < [email protected]> wrote: > > > On Mon, Aug 1, 2016 at 8:38 PM, Indunil Upeksha Rathnayake < > [email protected]> wrote: > >> Hi Suhothayan, >> >> Hi Indunil, > > I like to add some comments on this.. Please find them below.. > > >> There was an issue in EventPublisherServiceDS where >> setConfigurationContextService() method get invoked after the bundle get >> activated. Due to that, when we are trying to invoke >> deployEventPublisherConfiguration() of EventPublisherService from the >> activate method of an osgi bundle in IS side, it's receiving a null >> pointer(Since it refers the ConfigurationContextService object in >> EventPublisherServiceValueHolder). I think you can resolve it by >> changing the osgi reference cardinality in [1] as "1..1"(Mandatory), if >> there is no specific reason for making it optional. >> > > There is a valid reason for this.. > I believe, as you know we cannot guarantee about OSGI bundle loading in > carbon environment.. In this case, there is a possibility where axis2 > deployment can start before bundle activation of a OSGI component. To avoid > this we'll follow a similar approach like below, > > <Axis2RequiredServices> > > org.wso2.carbon.event.publisher.core.EventPublisherService > > </Axis2RequiredServices> > > Here, we are adding the reference of the corresponding OSGI service which > is exposed by relevant OSGI module.. If you want to use above approach > (Axis2RequiredServices), we cannot have 1..1 mapping for > ConfigurationContextService since it causes cyclic dependency and affects > bundle loading.. > > In IS side we were able to get rid of the null pointer by adding an osgi >> reference for ConfigurationContextService in the service component and >> invoked the deployEventPublisherConfiguration() in activate() method. >> > > No, above solution is not correct and will not work all the time.. There > is a possibility where you'll encounter same issue when > ConfigurationContextService is bind to you component first and takes > sometime to resolve for Event Publisher.. > > What is the usecase for creating an Event Publisher in server restart ? > Can you ship the pack with an Event Publisher or deploy an event publisher > for first event if it is not there.. > > >> And also there was an issue in filling out dynamic properties of an >> output adapter from the arbitrary data values, and sent a PR for that. >> Please review and merge the PR in [2]. >> > > Thanks, Merged it.. > > Regards, > Mohan > > >> >> [1] https://github.com/wso2/carbon-analytics-common/blob/ >> master/components/event-publisher/org.wso2.carbon. >> event.publisher.core/src/main/java/org/wso2/carbon/event/ >> publisher/core/internal/ds/EventPublisherServiceDS.java#L56 >> [2] https://github.com/wso2/carbon-analytics-common/pull/306/files >> >> Thanks and Regards >> >> On Mon, Aug 1, 2016 at 3:06 PM, Sriskandarajah Suhothayan <[email protected]> >> wrote: >> >>> HI Indunil >>> >>> Any update on this? Was the provided solution working? >>> >>> We released CEP 4.2-RC1. If we need new features/improvements for this >>> effort, we can incorporate them in the next component release. >>> >>> Regards >>> Suho >>> >>> On Fri, Jul 22, 2016 at 3:10 PM, Sriskandarajah Suhothayan < >>> [email protected]> wrote: >>> >>>> >>>> >>>> On Fri, Jul 22, 2016 at 3:00 PM, Johann Nallathamby <[email protected]> >>>> wrote: >>>> >>>>> >>>>> >>>>> On Fri, Jul 22, 2016 at 8:33 AM, Indunil Upeksha Rathnayake < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> On Fri, Jul 22, 2016 at 12:28 PM, Sriskandarajah Suhothayan < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Fri, Jul 22, 2016 at 12:00 PM, Indunil Upeksha Rathnayake < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> Please find the meeting notes in [1]. I have following >>>>>>>> considerations regarding the improvements we have discussed. >>>>>>>> >>>>>>>> (1) Even though we have configured to load the email template from >>>>>>>> EventPublisher(analytics side), the placeholder values has to be sent >>>>>>>> as >>>>>>>> meta data/correlation data/payload data/arbitrary data, since in >>>>>>>> analytics >>>>>>>> side, the user claim values are not getting from the user store. >>>>>>>> In order to send the placeholder values from IS side, anyway we >>>>>>>> have to load the email template and retrieve the placeholders. So as I >>>>>>>> have >>>>>>>> understood, for email notifications, it's not needed to use the email >>>>>>>> template loading part in analytics, since it'll be a redundant task. >>>>>>>> (Refer >>>>>>>> [2]) >>>>>>>> >>>>>>> >>>>>>> Here we can set the claim values as arbitrary data, and the >>>>>>> notification specific details as the meta, correlation & payload data. >>>>>>> Then we can use the template loading only at the analytics side. >>>>>>> >>>>>> In this case, from IS side, without parsing only the user claims >>>>>> needed for a particular email template(i.e.user claim values for the >>>>>> placeholders in email template), we have to pass all the user claims as >>>>>> arbitrary data values. In that case there's no need for loading the >>>>>> template from the registry in IS side. So that in analytics side, all the >>>>>> values needed for filling out the template will be there. Will check on >>>>>> that. >>>>>> >>>>> >>>>> I don't think it will be a good solution. There can be sensitive >>>>> information in the claims which we can't send. So for this release it's OK >>>>> if we read the template in both sides - security is more important than >>>>> performance; or read it only in IS side - but additionally send all those >>>>> claims as arbitrary data as well, so if some one wants can use them in CEP >>>>> side by their output adaptors. >>>>> >>>> >>>> I think then we can have a common configuration in IS side to specify >>>> what are the claims that should be added to notifications. >>>> >>>> Regards >>>> Suho >>>> >>>> >>>>> >>>>> >>>>>>> >>>>>>>> (2) The email templates has to be changed as follows. >>>>>>>> i) if the value will be provided in an arbitrary data map, the >>>>>>>> placeholder should be with a prefix "arbitrary_" >>>>>>>> (ex:{{arbitrary_givenname}}) >>>>>>>> >>>>>>> ii) if the value will be provided in an meta data map, the >>>>>>>> placeholder should be changed as {{...}} (ex:{{givenname}}) >>>>>>>> >>>>>>>> No we should not use "arbitrary_" for any cases, its internal >>>>>>> information and the names should not have "arbitrary_" even if its in >>>>>>> arbitrary data map or otherwise. >>>>>>> >>>>>>> (3) Only Text OutputMapping Content can be filled from a value in an >>>>>>>> arbitrary data map using prefix "arbitrary_" . It's not possible to >>>>>>>> use a >>>>>>>> value of an arbitrary data map, in a Dynamic adapter properties, only a >>>>>>>> value from a meta data/correlation data/payload data map can be used. I >>>>>>>> think that need to be extended to use even an arbitrary value as a >>>>>>>> dynamic >>>>>>>> adapter property.(Refer [3]) >>>>>>>> >>>>>>> >>>>>>> @Gobi can you please fix this if that's the case. >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> (4) The default stream definitions and publisher definitions has to >>>>>>>> be deployed on super tenant as well as other tenants as well. And when >>>>>>>> a >>>>>>>> new tenant is added, those streams and publishers has to be deployed >>>>>>>> for >>>>>>>> that particular tenant as well. >>>>>>>> >>>>>>>> We can have a tenant creation handler to do this copying during >>>>>>> that tenant creation time. WDYT? >>>>>>> >>>>>>> Really appreciate your ideas/suggestions regarding the above >>>>>>>> mentioned concerns. >>>>>>>> >>>>>>>> [1] Invitation: [Architecture] [Discussion] Improvement to use >>>>>>>> Siddhi str... @ Wed Jul 20, 2016 4:30pm - 5:30pm (IST) ( >>>>>>>> [email protected]) >>>>>>>> >>>>>>>> [2] https://github.com/wso2/carbon-analytics-common/blob/ >>>>>>>> master/components/event-publisher/org.wso2.carbon. >>>>>>>> event.publisher.core/src/main/java/org/wso2/carbon/event/ >>>>>>>> publisher/core/internal/type/text/TextOutputMapper.java#L108 >>>>>>>> >>>>>>>> [3] https://github.com/wso2/carbon-analytics-common/blob/ >>>>>>>> master/components/event-publisher/org.wso2.carbon. >>>>>>>> event.publisher.core/src/main/java/org/wso2/carbon/event/ >>>>>>>> publisher/core/internal/EventPublisher.java#L311 >>>>>>>> >>>>>>>> Thanks and Regards >>>>>>>> -- >>>>>>>> Indunil Upeksha Rathnayake >>>>>>>> Software Engineer | WSO2 Inc >>>>>>>> Email [email protected] >>>>>>>> Mobile 0772182255 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> *S. Suhothayan* >>>>>>> Associate Director / Architect & Team Lead of WSO2 Complex Event >>>>>>> Processor >>>>>>> *WSO2 Inc. *http://wso2.com >>>>>>> * <http://wso2.com/>* >>>>>>> lean . enterprise . middleware >>>>>>> >>>>>>> >>>>>>> *cell: (+94) 779 756 757 <%28%2B94%29%20779%20756%20757> | blog: >>>>>>> http://suhothayan.blogspot.com/ >>>>>>> <http://suhothayan.blogspot.com/>twitter: >>>>>>> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | >>>>>>> linked-in: >>>>>>> http://lk.linkedin.com/in/suhothayan >>>>>>> <http://lk.linkedin.com/in/suhothayan>* >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Indunil Upeksha Rathnayake >>>>>> Software Engineer | WSO2 Inc >>>>>> Email [email protected] >>>>>> Mobile 0772182255 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Thanks & Regards, >>>>> >>>>> *Johann Dilantha Nallathamby* >>>>> Technical Lead & Product Lead of WSO2 Identity Server >>>>> Governance Technologies Team >>>>> WSO2, Inc. >>>>> lean.enterprise.middleware >>>>> >>>>> Mobile - *+94777776950* >>>>> Blog - *http://nallaa.wordpress.com <http://nallaa.wordpress.com>* >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> *S. Suhothayan* >>>> Associate Director / Architect & Team Lead of WSO2 Complex Event >>>> Processor >>>> *WSO2 Inc. *http://wso2.com >>>> * <http://wso2.com/>* >>>> lean . enterprise . middleware >>>> >>>> >>>> *cell: (+94) 779 756 757 <%28%2B94%29%20779%20756%20757> | blog: >>>> http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter: >>>> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in: >>>> http://lk.linkedin.com/in/suhothayan >>>> <http://lk.linkedin.com/in/suhothayan>* >>>> >>> >>> >>> >>> -- >>> >>> *S. Suhothayan* >>> Associate Director / Architect & Team Lead of WSO2 Complex Event >>> Processor >>> *WSO2 Inc. *http://wso2.com >>> * <http://wso2.com/>* >>> lean . enterprise . middleware >>> >>> >>> *cell: (+94) 779 756 757 <%28%2B94%29%20779%20756%20757> | blog: >>> http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter: >>> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in: >>> http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>* >>> >> >> >> >> -- >> Indunil Upeksha Rathnayake >> Software Engineer | WSO2 Inc >> Email [email protected] >> Mobile 0772182255 >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > *V. Mohanadarshan* > *Associate Tech Lead,* > *Data Technologies Team,* > *WSO2, Inc. http://wso2.com <http://wso2.com> * > *lean.enterprise.middleware.* > > email: [email protected] > phone:(+94) 771117673 > -- *S. Suhothayan* Associate Director / Architect & Team Lead of WSO2 Complex Event Processor *WSO2 Inc. *http://wso2.com * <http://wso2.com/>* lean . enterprise . middleware *cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter: http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in: http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
