Pahan : FYI On Mon, Nov 27, 2017 at 7:57 AM Tanya Madurapperuma <[email protected]> wrote:
> +1 for the implementation. > One main advantage with the above approach is publisher and subscriber > widget authors don't need to worry about the load order as it is entirely > handled by the parent widget component. They just have to write their > publishing and subscribing logic thinking that subscriber widget will be > always loaded before the publisher widget. > > Thanks, > Tanya > > On Mon, Nov 27, 2017 at 12:34 AM, Nisala Nanayakkara <[email protected]> > wrote: > >> Hi All, >> >> Purpose of this mail is to discuss the solution regarding the 'Message >> queuing mechanism to prevent losing messages in PubSub"*. *Please find >> the below information in order to get more context regarding the $subject >> *.* >> >> *Problem & C4 solution* >> >> Let's consider a situation where there is a dashboard with publisher and >> subscriber widgets. If the publisher widget is rendered before the >> subscriber widget, the subscriber widget may miss the initial messages that >> are published by the publisher. As a real-world example, we can consider a >> scenario where date picker widget publishes initial date range and the >> other widgets should be rendered according to that published date range. If >> the date picker widget is rendered before the other widgets, these widgets >> will not able to get the published date-range. In C4, we have implemented a >> feature to control the load order of the widgets. So that we can control >> the load order of widgets and resolve the above-mentioned problem. >> >> *Proposed Solution* >> >> In C5 dashboard component implementation, we have used Golden Layout to >> handle the layouting and rendering of the dashboards. Please refer the mail >> thread[1] for more information. Because of this reason, we do not have the >> control over the widget load order in dashboards. So we have come up with >> the following solution in order to resolve this issue. >> >> - Publisher widgets publish messages using its parent(base) widget. >> Please refer mail thread[2] for more information about parent widget >> component. >> - If the dashboard is not initialized, messages will be queued at the >> widget level and start listening to dashboard initialized event. Once the >> dashboard is initialized, queued messages will be sent to the respective >> channel. So that the subscriber widgets can get the published messages >> without any issue. >> >> The above implementation will be available with the stream processor beta >> version. If you have any concerns or issues. Please feel free to ask. >> >> [1] - Mail Subject - [Meeting Notes] Discussion on way forward with >> Dashboards @ Wed Jun 14, 2017 10am - 11am (IST) (WSO2 Platform Team Group) >> >> [2] - Mail Subject - [Dashboard] Introducing a base widget component >> Thanks, >> Nisala >> >> >> -- >> *Nisala Niroshana Nanayakkara,* >> Software Engineer >> Mobile | +94 717600022 >> WSO2 Inc | http://wso2.com/ >> > > > > -- > Tanya Madurapperuma > > Associate Technical Lead, > WSO2 Inc. : wso2.com > Mobile : +94718184439 > Blog : http://tanyamadurapperuma.blogspot.com > -- *Tanya Madurapperuma* | Technical Lead | WSO2 Inc. (m) +94718184439 | (e) [email protected] <http://wso2.com/signature>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
