Hi Ebenezer, You now have write priviliges in the Fineract wiki. I suggest you work on notifications for Fineract CN here:
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=75975771 Best Regards, Myrle On Sat, Mar 17, 2018 at 12:53 AM, Ebenezer Graham <[email protected]> wrote: > Hello Markus and Myrle, > > Thank you for the input. I will revise the idea and include how it will > work using the API and ActiveMQ. > This is my confluence id ebenezergraham , hopefully I can start detailing > the idea there. > > *Best Regards,* > > *Ebenezer Graham* > > *BSc (Hons) Computing* > > > [image: EmailSignature.png] > > Beau Plan Business Park | West Building > > Pamplemousses | Mauritius > > > <http://www.pactmart.com/> > <http://www.pactmart.com/> > www.pactmart.com | Freelancing made easy. > > skype: > ebenezer.graham > | Phone: > +230 5840 9206 > GitHub <https://github.com/ebenezergraham> | LinkedIn > <https://www.linkedin.com/in/ebenezer-graham/> | Twitter > <https://twitter.com/pactmart> | Facebook > <https://www.facebook.com/pactmart> | Personal Website / CV > <http://ebenezergraham.github.io/> > > > *“Practice isn’t the thing you do once you’re good. It’s the thing you do > that makes you good.”* > -*Malcolm Gladwell* > > > > On 16 March 2018 at 18:34, Myrle Krantz <[email protected]> wrote: > >> Hi Ebenezer, >> >> I believe you're planning to monitor at the wrong abstraction level. >> Currently each command handler has a so-called @EventEmitter, which places >> a message on the ActiveMQ message queue. A command handler might change >> multiple tables while persisting the data it needs to persist, but it will >> only emit one ActiveMQ message. So your monitor should listen to ActiveMQ >> rather than monitoring the database. In all of the component-test modules >> for the services, there is a listener module which shows how to listen to >> the ActiveMQ events defined for that service. >> >> Also a question: how do you plan to solve the localization problem in your >> design? IE what if an institution has customers who don't speak the same >> language as each other? >> >> If you'd like to put your design in confluence, create a confluence id and >> I'll give you edit permissions. >> >> Best Regards, >> Myrle >> >> >> >> On Fri, Mar 16, 2018 at 3:17 PM, Ebenezer Graham <[email protected] >> > >> wrote: >> >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > *Hi,I would like to contribute to the development of the new notification >> > microservice for Fineract CNThis is my thinking around the implementation >> > of notification microservice for GSoC. I would like get your input on the >> > approach if possible. The Notification Microservice could be divided into >> > the following subsystems.Preferably, refactor the existing codebase to >> > generate the triggers after passing the necessary checks in the >> > backend.Alternatively, A trigger creator can be made within the >> > microservice to avoid tampering with the existing >> codebase.TriggerGenerator >> > - Monitor Database for new records and generate and eventThe resolver >> will >> > accept event from the generator and then determine what has to be done. >> The >> > Resolver then determines the kind of notification required, an email or >> an >> > SMS I will determine if its an instant notification or need to be >> scheduled >> > for later release TriggerResolver - Listen for triggers- Determine the >> kind >> > of notification- Forward instant notification- Aggregate Notification for >> > scheduled releaseThis component will be abstracted to accommodate future >> > changes in message formats. It will create DAO for the various databases >> > accessDAOFactory - clientDAO- loanDAO- etcThe message resolver will >> gather >> > the content from the database using the DAO to form the message and all >> > relevant address.This component will use the template component to form >> the >> > message structure. MessageResolver - Gather message content using >> internal >> > DAO- Gather addressesThis component will receive the message and connect >> > with carrier domains and mailing services to send the >> > notifications.MessageHandler - Send Messages- Authenticate with carrier >> > domains and create mail servlets- Retry sending notification if >> > failed.EmailHandler extends MessageHandler - Prepare Email SMSHandler >> > extends MessageHandler - Prepare SMSThe template will abstract the >> various >> > message formats and work with the MessageResolver.Template - SMS >> templates- >> > SMS templates- Email Templates- CC/BCC : StakeholdersI have attached a >> > class diagram to help visualize the components. * >> > >> > *Best Regards,* >> > >> > *Ebenezer Graham* >> > >> > *BSc (Hons) Computing* >> > >> > >> > [image: EmailSignature.png] >> > >> > Beau Plan Business Park | West Building >> > >> > Pamplemousses | Mauritius >> > >> > >> > <http://www.pactmart.com/> >> > <http://www.pactmart.com/> >> > www.pactmart.com | Freelancing made easy. >> > >> > skype: >> > ebenezer.graham >> > | Phone: >> > +230 5840 9206 <+230%205840%209206> >> > GitHub <https://github.com/ebenezergraham> | LinkedIn >> > <https://www.linkedin.com/in/ebenezer-graham/> | Twitter >> > <https://twitter.com/pactmart> | Facebook >> > <https://www.facebook.com/pactmart> | Personal Website / CV >> > <http://ebenezergraham.github.io/> >> > >> > >> > *“Practice isn’t the thing you do once you’re good. It’s the thing you do >> > that makes you good.”* >> > -*Malcolm Gladwell* >> > >> > >> > >>
