Reminder: WEBINAR: March 27, 1300 GMT - Upstream First Approach to Development by Dave Neary, Community Architect at Red Hat

2020-03-26 Thread Ed Cable
Hi all,

Just a reminder about our webinar on Upstream First Approach to Development
being led by Dave Neary is taking place at 1300GMT on Friday March 27 -
Register via Zoom at
https://zoom.us/webinar/register/6015852684967/WN_eEIrzfRKQhCHt-lkCN0PUQ

Join us in welcoming former Mifos Board member and long-time guru of open
source communities, Dave Neary, as he gives a webinar on taking an
upstream first
approach to development. Having individuals and companies build
their products by developing on top of the latest upstream branch of the
open source project is vital to enabling a virtuous cycle that benefits not
only the community but each individual company with a lower cost of
acquiring, maintaining, and extending their software.

This webinar will be suitable for both business and technical stakeholders
at all levels. We want to educate not only on the value of an upstream first
approach from a business and technical perspective but at a practical level
on how your development and product release workstreams can align with the
development of the open source project.


Re: Integration - Retry/Repeated/concurrent calls

2020-03-26 Thread Sergio Junior
Vishwas,

Thank your very much for your clarification, im starting with Fineract and
still absorbing information.





Em qui., 26 de mar. de 2020 às 09:09, Vishwas Babu A J <
vishwasbab...@gmail.com> escreveu:

> Sergio,
>
> A quick clarification:
>
> https://github.com/apache/fineract/pull/515 allows setting a globally
> unique client generated identifier for a command. This allows the client to
> later query for the status of the execution of the command associated with
> this guid if the response is lost in transit etc. At the server side, the
> guid is assumed to be unique.
>
> By adding a unique constraint to the command source table, we can enforce
> the uniqueness of the client generated identifier at the server side,
> thereby ensuring duplicate requests are not served. However, this approach
> would likely result in a write penalty for very large installations.
>
> Alternatives could be to check the presence of this key in an in memory
> key value store, something along the lines of setnx in Redis (assuming
> duplicates requests are sent in a fixed time interval). We could maybe
> handle this from an infrastructure level too, by carrying out this check at
> the API gateway,
>
> Regards,
> Vishwas
>
>
>
> On Mar 25, 2020, at 6:54 PM, Vishwas Babu  wrote:
>
> >>Question, before this PR, no one have this kind of problem before?
> I am sure people would have faced this issue and figured out solutions
> like this PR.
>
> >>A simple retry or double click at any of the apps would cause issues,
> right?
> It might not have been so obvious as clients like the Mifos community-app
> (most common UI used with Fineract) handle double clicks at their end.
> However, your point is valid
>
> Regards,
> Vishwas
>
>
> On Wed, 25 Mar 2020 at 07:19, Sergio Junior  wrote:
>
>> Vishwas,
>>
>> I really appreciate your response, missed that PR because it was closed,
>> i will take a look.
>>
>> Question, before this PR, no one have this kind of problem before? A
>> simple retry or double click at any of the apps would cause issues, right?
>>
>> Thanks!
>>
>> Em qua., 25 de mar. de 2020 às 01:24, Vishwas Babu A J <
>> vishwasbab...@gmail.com> escreveu:
>>
>>> Hello Sergio,
>>>
>>> Here is a pr https://github.com/apache/fineract/pull/515 which aimed to
>>> address this problem by relying on the client to optionally supply a unique
>>> id with each request. Maybe you can build on the same (it was missing test
>>> cases and api doc updates) and get it merged ?
>>>
>>> Regards,
>>> Vishwas
>>>
>>>
>>>
>>> On Mar 24, 2020, at 7:39 PM, Sergio Junior  wrote:
>>>
>>> Hello everyone,
>>>
>>> Im integrating a system with Fineract, and doing some tests with the
>>> Savings API (Deposit/Withdrawal functions), nothing is considered “Unique”,
>>> so if for any reason my system interpret a call as failed (maybe a reverse
>>> proxy fault, tcp issues etc) and perform a retry, Fineract will Credit (or
>>> Debit) a transaction multiple times, no field is considered an Identifier
>>> and i couldnt find any resource to notify the API that a transaction is a
>>> retry or a new one.
>>>
>>> Whats the idea for such scenario, to maintain consistency and avoid
>>> duplicates?
>>>
>>> Thanks!
>>>
>>>
>>>
>>
>


Re: Integration - Retry/Repeated/concurrent calls

2020-03-26 Thread Vishwas Babu A J
Sergio,

A quick clarification:

https://github.com/apache/fineract/pull/515 
 allows setting a globally unique 
client generated identifier for a command. This allows the client to later 
query for the status of the execution of the command associated with this guid 
if the response is lost in transit etc. At the server side, the guid is assumed 
to be unique.

By adding a unique constraint to the command source table, we can enforce the 
uniqueness of the client generated identifier at the server side, thereby 
ensuring duplicate requests are not served. However, this approach would likely 
result in a write penalty for very large installations.

Alternatives could be to check the presence of this key in an in memory key 
value store, something along the lines of setnx in Redis (assuming duplicates 
requests are sent in a fixed time interval). We could maybe handle this from an 
infrastructure level too, by carrying out this check at the API gateway,

Regards,
Vishwas



> On Mar 25, 2020, at 6:54 PM, Vishwas Babu  wrote:
> 
> >>Question, before this PR, no one have this kind of problem before?
> I am sure people would have faced this issue and figured out solutions like 
> this PR.
> 
> >>A simple retry or double click at any of the apps would cause issues, right?
> It might not have been so obvious as clients like the Mifos community-app 
> (most common UI used with Fineract) handle double clicks at their end. 
> However, your point is valid
> 
> Regards,
> Vishwas
> 
> 
> On Wed, 25 Mar 2020 at 07:19, Sergio Junior  > wrote:
> Vishwas,
> 
> I really appreciate your response, missed that PR because it was closed, i 
> will take a look.
> 
> Question, before this PR, no one have this kind of problem before? A simple 
> retry or double click at any of the apps would cause issues, right?
> 
> Thanks!
> 
> Em qua., 25 de mar. de 2020 às 01:24, Vishwas Babu A J 
> mailto:vishwasbab...@gmail.com>> escreveu:
> Hello Sergio,
> 
> Here is a pr https://github.com/apache/fineract/pull/515 
>  which aimed to address this 
> problem by relying on the client to optionally supply a unique id with each 
> request. Maybe you can build on the same (it was missing test cases and api 
> doc updates) and get it merged ?
> 
> Regards,
> Vishwas
> 
> 
> 
>> On Mar 24, 2020, at 7:39 PM, Sergio Junior > > wrote:
>> 
>> Hello everyone,
>> 
>> Im integrating a system with Fineract, and doing some tests with the Savings 
>> API (Deposit/Withdrawal functions), nothing is considered “Unique”, so if 
>> for any reason my system interpret a call as failed (maybe a reverse proxy 
>> fault, tcp issues etc) and perform a retry, Fineract will Credit (or Debit) 
>> a transaction multiple times, no field is considered an Identifier and i 
>> couldnt find any resource to notify the API that a transaction is a retry or 
>> a new one.
>> 
>> Whats the idea for such scenario, to maintain consistency and avoid 
>> duplicates?
>> 
>> Thanks!
> 
> 
> 
> -- 
> Atenciosamente,
> Sergio Luiz Miziara Junior
> Tel.: (011) 8727.6447



Re: GSoC20 Application

2020-03-26 Thread Yemdjih Kaze Nasser
Hello and welcome.

Please what issue did you face during the installation?

On Thu, Mar 26, 2020, 08:38 Sara Hammoud  wrote:

> Dear Mifos Fineract Development Team,
>
> My name is Sara Hammoud. I am a fourth year Electrical & Computer
> Engineering student with tracks in Software & Networking and a minor in
> Economics at the American University of Beirut. I am interested in applying
> for Mifos GSoC20 program. I have deployed and run the Apache Fineract
> Platform and the reference user interface. I know that for our application
> we must commit changes or fix a bug. I ran into a problem with gradle
> installation when I was installing Fineract platform and I fixed the issue.
> I was wondering if I can include the steps of the solution to the README.md
> file and commit the changes. Would that be enough for the GSoC application
> requirement?
>
> I look forward to your response!
>
> Best,
> Sara
>


GSoC20 Application

2020-03-26 Thread Sara Hammoud
Dear Mifos Fineract Development Team,

My name is Sara Hammoud. I am a fourth year Electrical & Computer
Engineering student with tracks in Software & Networking and a minor in
Economics at the American University of Beirut. I am interested in applying
for Mifos GSoC20 program. I have deployed and run the Apache Fineract
Platform and the reference user interface. I know that for our application
we must commit changes or fix a bug. I ran into a problem with gradle
installation when I was installing Fineract platform and I fixed the issue.
I was wondering if I can include the steps of the solution to the README.md
file and commit the changes. Would that be enough for the GSoC application
requirement?

I look forward to your response!

Best,
Sara