I'm cc'ing @Pranjal Goswami <pranjal.b.gosw...@gmail.com>  who originally
designed the notifications framework.

Here's one of the original design docs on the notification storage and
topic subscription.

https://docs.google.com/presentation/d/1jzqEQxxRYa1ZvN_SXLRwDgXBux1cb3_IMBWbdS7rRV0/edit?usp=sharing

Once it's fully implemented, it will and has to date served as a
foundational component to generating both staff and customer facing
notifications which can be displayed in the Web UI as well as mobile apps.

As a bit more background and  context, I'm forwarding a previous thread
from 2020 in which we were trying to extend the notifications framework to
generate FCM notifications via mobile apps.

=============================

Email from July 2020
Pranjal, Courage, Nazeer and others

I'm responding on top of this thread as both Devansh and Shashank are
blocked in trying to move forward with the portions of their projects
related to consuming FCM notifications. From our previous meeting, we had
somehow concluded that the PR at
https://github.com/apache/fineract/pull/421 was
for FCM notifications support but in talking with Nazeer it was only for
SMS campaigns.

Nazeer - are you able to clarify on that PR. If it doesn' have the support
for FCM notifications, can we outline the work involved in providing
server-side support to generate the FCM notifications.

Thanks all. Once we come to more clarity i'll take this to the list. If a
call is quickest way to tackle this, let's get one scheduled.

Thanks,

Ed

On Fri, Jun 5, 2020 at 4:22 PM Ed Cable <edca...@mifos.org> wrote:

Hi all,

Just to follow up on the second leg of the meeting we had to discuss the
notifications sub-system being used for the Request to Pay API for the
mobile wallet as well as a general update about the mobile wallet use case
in the near term to have it work in the new lab environment.

https://us02web.zoom.us/rec/share/5-oyIZrd1mZLYNLutAL8avU5H9zPX6a8gClL-fEPyh5OYllEDFBX8_ENod_Zeup_?startTime=1591200315000

>From the discussion, it appears the current manner in which notifications are
generated and stored in Fineract 1.x will work for the request to pay API.
However we must ensure that the self-service users (which should be in the
same users table but just denoted as "self-service") are subscribed to this
topic to receive the notification.

All students working on the customer-facing apps for Fineract 1.x,
should familiarize themselves with the notifications system (see previous
design and how it works) as the client-side integration should also be
complete for mifos mobile and mobile wallet.  If you have any questions,
please share them publicly on the mifos and fineract dev list and discourse
forum as it's a valuable discussion for community.

@Ebenezer Graham <ebenezergraha...@gmail.com> can we grab some time to
discuss integration with the Fineract CN notifications microservices.

We identified some small action items to take to make the current mobile
wallet work for the prior 2 Mojaloop use cases and soon the 3rd Mojaloop
use case in our lab environment.
We need to:

1) Provide Shivansh and Devansh with both the updated environment details
of the Fineract, Payment Hub instances in the new lab environment as well
as the updated API endpoints.
2) Confirm where the MSISDN is being stored as an additional attribute for
Fineract.
3) Ensure that the Interop users/customers that are created in the Fineract
instances have an associated self-service user account and to add these
credentials to the lab environment Google sheet.

https://docs.google.com/spreadsheets/d/1b8BRajrpNacFNEH6gGENDVWIGusLc0pGRd6MnKbqTKM/edit?usp=sharing

Once the above is in place, we should be able to have the initial 2
mojaloop use cases of peer to peer transfer and payment via QR code work
with actual authenticated self-service users (not just hard-coded JSON user
data).



On Tue, Jun 2, 2020 at 9:19 AM Ed Cable <edca...@mifos.org> wrote:

Hi everyone,
Thank you for those who were able to join, especially to Pranjal for
joining short notice. We made some good progress in the discussion but will
continue this conversation once Istvan can join during part of our call
tomorrow that was scheduled for Open Banking fintech app requirements.

Here's a summary of what we concluded and outstanding questions/next steps:
*Fineract 1.x*

   - Creation and Storage of Notifications on Back-End
   -
      - Per the design of Pranjal and implementation by Courage and
      Adhiyan, the notifications subsystem for creating and storing
      notifications through the publisher/subscriber/topic model is
      complete and more recently has been updated by Nazeer to work with FCM
      messaging
      -
         - Slides on Design of Notification Subsystem:
         
https://docs.google.com/presentation/d/1jzqEQxxRYa1ZvN_SXLRwDgXBux1cb3_IMBWbdS7rRV0/edit?usp=sharing
         - Link to PR updating notifications for Fineract -
         https://github.com/apache/fineract/pull/421
      - Receiving notifications through channel apps
   -
      - Working for Community App
      - Works for Mifos Mobile and for Mobile Wallet
      -
         - PR for MIfos MObile for FCM Messaging -
         https://github.com/openMF/mifos-mobile/pull/1180
      - Questions/Concerns
   -
      - Based on Pranjal's current understanding of Request to Pay use
      case, he believes for notifications like payment requests that are
      high priority, time-critical, and actionable, we should enhance
      notifications to generate and store them in a different manner than
      the current generic system for information updates
      -
         - Istvan, within Zeebe, how many times will we re-try sending out
         the payment request notification if the payer doesn't take action?
         - Would the flow be Mojaloop API to Connector in Payment Hub to
         Fineract and then to Channel?


*Fineract CN*

   - Creation and Storage of Notifications on Back-End
   -
      - Separate notifications framework created by @Ebenezer Graham
      <ebenezergraha...@gmail.com> who i'm looping into this discussion.


*Other Questions*

   - *Mobile Wallet Authentication via Self-Service Users*
   -
      - Shivansh shared that for the integration that he and Naman did last
      year to support the peer to peer and merchant proximity use
cases that they
      had to this all with just hard-coded JSON users based on the 4 demo user
      accounts and that they weren't aware of how they would be able
to actually
      authenticate via self-service users to initiate these transactions.
      - So we both need to for the interim, ensure we can support doing
      these transactions in the mobile wallet via self-service APIs
but then once
      we've fully mapped the entire app to use Open Banking APIs, do the
      transacstions via that manner.
      - @Istvan Molnar <istvan.mol...@dpc.hu> for our demo web app which
      allowed a customer to scan a QR code and make payment to a merchant, I
      thought we were using self-service API, I guess that was only for a staff
      person that was acting like a customer.
      -
         - We need to have this transaction actually be supported from our
         self-service API (in interim) and then open banking API.
      - I'm glad this call flagged this as it's an important distinction
      that I didn't realize we weren't yet supporting because for our lab
      environment, the P2P and proximity payment are supposed to be
      customer-initiated scenarios, not staff ones.
      - *This all speaks to the importance and criticality of having our
      lab environment use the community-developed channel apps and not just
      reference demo apps as we need to try to closely model real-world
      scenarios.*


Thanks,

Ed



On Mon, Jun 1, 2020 at 11:44 AM Ed Cable <edca...@mifos.org> wrote:

Hi Mobile Wallet and Mobile Banking teams,

As part of the ongoing work with supporting the Mojaloop request to pay
API, we will finally get the opportunity to work more closely with the DPC
team to incorporate our community-developed channel apps into the lab
environment. Primarily, we need to be able to demonstrate the end to end
scenario where notification generated by the payer needs is received by the
payee so they can take action to initiate payment based on the request.

I'm setting up a call with our mentors and interns for the mobile banking
and mobile wallet apps to discuss a few of the following points with
Istvan, Kristofz, and Zoltan:


   - What are the endpoints for the communications?
   - How are notifications being generated? In Fineract or in the app?
   - What form factor can notifications be received via? In app through
   FCM, via SMS?
   - How are channel apps invoking the credentials?

I'm going to send out an invite for 1500GMT on Tuesday.

Cheers,

Ed




On Wed, May 18, 2022, 08:10 Arnold Galovics <galovicsarn...@gmail.com>
wrote:

> Hi guys,
>
> Thanks for the feedback. I can only agree with you, we don't want to lose
> features that are potentially used.
>
> I was probably not crystal clear when I mentioned the term "notification
> topic". I was mainly referring to the "topic" and "topic_subscriber" tables
> which are currently not exposed through APIs but only used for our internal
> purpose. However, after spending some time on understanding what the
> purpose was behind this, I figured out that these tables and their related
> functionality is not even needed to maintain the completeness of our
> feature set so I was able to replace it fairly easily and get rid of the
> related code.
>
> I'm still polishing the PR, but you can look at it here:
> https://github.com/apache/fineract/pull/2330
>
> Just as a side note, these 2 tables are also used in conjunction with the
> UI notifications (on the top of the UI) and I realized that the UI
> notification feature is not even working without a running ActiveMQ broken
> because the logic is buggy.
>
> I managed to fix that as well as part of the cleanup and I introduced a
> new test-case to verify this logic.
>
> Summary:
> - ~1500 less lines of unnecessary code
> - A simplified notification implementation
> - New test case to verify UI notifications
>
> Best,
> Arnold
>
>
> On Wed, May 18, 2022 at 5:02 PM James Dailey <jamespdai...@gmail.com>
> wrote:
>
>> Yes, we have to be careful about removing things, that is probably an
>> unspoken principle on this project as we don't know how it's being used.
>> (unfortunately)
>> However, if it makes sense from an architectural perspective to
>> rationalize the notification and event handling frameworks, then I would
>> suggest that we find a way to migrate this behavior.
>> ... and wondering if this belongs in its own extension or outside
>> component.
>>
>> It may be "half-implemented" but that doesn't mean it isn't being used.
>> ;)
>>
>>
>> On Wed, May 18, 2022 at 7:43 AM Bharath Gowda <bgo...@mifos.org> wrote:
>>
>>> Hi Arnold,
>>>
>>> I have some organizations using the notification feature effectively for
>>> sanctioning or disbursing the loan accounts based on the notifications
>>> which they receive. It is mainly useful when there are different levels of
>>> approvals for the loan cycle.
>>>
>>> (user configuration document for this feature is here
>>> <https://docs.mifos.org/mifosx/user-manual/for-administrators-mifos-x-platform/configure-notifications>
>>> )
>>>
>>> Regards,
>>> Bharath
>>> Lead Implementation Analyst | Mifos Initiative
>>> Skype: live:cbharath4| Mobile: +91.7019635592
>>> http://mifos.org  <http://facebook.com/mifos>
>>> <http://www.twitter.com/mifos>
>>>
>>>
>>> On Wed, May 18, 2022 at 3:29 PM Aleksandar Vidakovic <
>>> chee...@monkeysintown.com> wrote:
>>>
>>>> ... thanks Adam... learned again.
>>>>
>>>> On Wed, May 18, 2022 at 10:28 AM Ádám Sághy <adamsa...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi guys,
>>>>>
>>>>> So lets see what i know about this functionality:
>>>>>
>>>>> - The Fineract is the publisher and also a listener for the
>>>>> Notification events.
>>>>>
>>>>> - Fineract is publishing notifications in the following situations:
>>>>> "ACTIVATE_CLIENT"
>>>>> "ACTIVATE_CENTER"
>>>>> "ACTIVATE_GROUP"
>>>>> "READ_SAVINGSACCOUNT"
>>>>> "READ_DIVIDEND_SHAREPRODUCT"
>>>>> "APPROVE_FIXEDDEPOSITACCOUNT"
>>>>> "APPROVE_RECURRINGDEPOSITACCOUNT"
>>>>> "ACTIVATE_FIXEDDEPOSITACCOUNT"
>>>>> "ACTIVATE_RECURRINGDEPOSITACCOUNT
>>>>> "ACTIVATE_SAVINGSACCOUNT"
>>>>> "READ_SAVINGSACCOUNT"
>>>>> "APPROVE_LOAN",
>>>>> "DISBURSE_LOAN"
>>>>> "READ_LOAN"
>>>>> "READ_Rescheduled Loans"
>>>>> "READ_LOAN"
>>>>> "READ_LOANPRODUCT"
>>>>> "APPROVE_SAVINGSACCOUNT"
>>>>> "READ_SAVINGSACCOUNT"
>>>>> "APPROVE_SHAREACCOUNT"
>>>>> “ACTIVATE_SHAREACCOUNT”
>>>>>
>>>>> - There is a topic subsciption functionality also where appusers can
>>>>> subscribe for events and they got notified when that event occured.
>>>>> - When a user is created based on the roles, the fineract might
>>>>> subscribe automatically for topics
>>>>>
>>>>> - Fineract listener are listening for these kind of events and when it
>>>>> happens it will create a notification entry into the database for the
>>>>> subscribed users.
>>>>> - When a subscribed user logs into the Fineract, they will get the
>>>>> notification (on the UI for example a popup).
>>>>>
>>>>> I hope it helps to visualize this functionality a little bit better
>>>>> and  decide on its future.
>>>>>
>>>>> Regards,
>>>>> Adam
>>>>>
>>>>> On 18 May 2022, at 09:56, Aleksandar Vidakovic <
>>>>> chee...@monkeysintown.com> wrote:
>>>>>
>>>>> ... other question: does it do anything? I'll have another look at it
>>>>> today, but it seems non-functional.
>>>>>
>>>>> It's going to be hard to reach in general a consensus if people are
>>>>> not participating... same argument could be made for introducing 
>>>>> Liquibase;
>>>>> I'm sure that others invested time in Flyway, but we still replaced it.
>>>>>
>>>>> Just my 2 cents.
>>>>>
>>>>> On Wed, May 18, 2022 at 9:43 AM Awasum Yannick <awa...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> Hello Aleks and Arnold,
>>>>>>
>>>>>> I won't remove that feature given we don't know who may or may not be
>>>>>> using it.
>>>>>>
>>>>>> There are people using Fineract who are not even on this dev list or
>>>>>> participating in conversations.
>>>>>>
>>>>>> I would be careful with what I remove even if it looks unusable to me.
>>>>>>
>>>>>> On Wed, May 18, 2022, 02:11 Aleksandar Vidakovic <
>>>>>> chee...@monkeysintown.com> wrote:
>>>>>>
>>>>>>> I would say: +1
>>>>>>>
>>>>>>> On Tue, May 17, 2022 at 10:01 PM Arnold Galovics <arn...@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi guys,
>>>>>>>>
>>>>>>>> I'm exploring the current event handling frameworks available in
>>>>>>>> Fineract - Hooks, Business events and Notification events - and I was
>>>>>>>> wondering if anybody is using the so called "topic subscriptions" in
>>>>>>>> Fineract within the Notification events module.
>>>>>>>>
>>>>>>>> As far as I can tell, it's a half-complete implementation but I see
>>>>>>>> that upon creating a new user and assigning it to an office, it
>>>>>>>> automatically subscribes the user to a particular topic but the notion 
>>>>>>>> of
>>>>>>>> "subscribing to a topic" doesn't really have any meaning at this point.
>>>>>>>>
>>>>>>>> If nobody is using the feature, I'll just remove it to get rid of
>>>>>>>> some of the weight we've been carrying.
>>>>>>>>
>>>>>>>> Let me know.
>>>>>>>>
>>>>>>>> Best,
>>>>>>>> Arnold
>>>>>>>>
>>>>>>>
>>>>>

Reply via email to