Re: Loading Historical Floating Rate Periods
Hey Bharath, Thanks for the response. I've created this PR on our fork - https://github.com/hypercore-ai/fineract/pull/10/files It enables the submission of historic rates with a flag on the floating rate PUT request. As you've mentioned, the actual work here is testing the effect of such a change. Do you know if the integration tests are currently testing the scenarios you've specified? If not, we will soon manually test some of these cases. Best, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> ᐧ On Mon, Jan 4, 2021 at 4:20 PM Bharath Gowda wrote: > Hi David, > > Sounds interesting and a good feature to be unlocked, validation could be > added either because of all the scenarios not tested yet, or there could be > specific scenarios not handled at that time. > > We will have to test as much as scenarios as possible to check if there > are any side effects > > Following are some important scenarios that could be tested > 1. Rescheduling of loans and repay/undo repay scenarios. > 2. Interest accruals behaviors on daily interest calculation configuration > 3.Tranche loans scenarios > 4.Penalty charge scenarios > > If things are still good, we could push the changes back to the upstream > codebase, so that all the people of the community could be benifited from > the feature. > > > 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 Sun, Jan 3, 2021 at 9:34 PM David Yahalomi wrote: > >> Hello all, >> >> In my current work with Fineract, I've noticed that there is a constraint >> in Fineract that prohibits the submission of past periods. >> >> Does anyone know of a reason for that? >> From my testing, after disabling this validation check, it seems that the >> rest of the code handles that scenario quite well. Any loans with interest >> re-calculation will be updated as it should. >> >> I'd love to hear your thoughts. >> >> Best, >> >> David Yahalomi >> Co-Founder >> >> Rothschild Blvd 3, Tel Aviv-Yafo, Israel >> mobile: + 972 52 817 9787 >> email: da...@articode.co >> <https://articode.co> >> ᐧ >> >
Loading Historical Floating Rate Periods
Hello all, In my current work with Fineract, I've noticed that there is a constraint in Fineract that prohibits the submission of past periods. Does anyone know of a reason for that? >From my testing, after disabling this validation check, it seems that the rest of the code handles that scenario quite well. Any loans with interest re-calculation will be updated as it should. I'd love to hear your thoughts. Best, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> ᐧ
Re: Fineract: update/delete note is broken
Thank Petri for the quick response and fix! David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> On Mon, Sep 28, 2020 at 11:55 AM Airsay Longcon wrote: > +1 for adding notes to Savings Accounts > > On 28 Sep 2020, at 06:48, Petri Tuomola wrote: > > Ok - this is now fixed in https://github.com/apache/fineract/pull/1353, > so when that gets merged update/delete of notes should work. > > Looks like adding notes to Savings accounts has not been implemented - I > wonder why? It looks trivial to implement using the same pattern, so I > might add it once the above PR has been merged. > > Regards > Petri > > On 27 Sep 2020, at 8:31 PM, Petri Tuomola wrote: > > Hi > > Yes, looks like the JPA queries used to look up the note for update / > delete are broken - that’s why they never find the note to be updated. > > I’m not sure how this has ever worked - but I can send a PR later tonight > to fix this. Will also add some integration tests to ensure we catch this > next time. > > Regards > Petri > > > On 27 Sep 2020, at 4:50 PM, David Yahalomi wrote: > > Hey All, > > IDK if that was always the case, but it seems like update and delete of > client note is broken. > I think the other resources are in the same condition. > From what I can tell, the fault is in the NoteRepository. Could someone > confirm this issue? > > I looked in the JIRA and could not find a ticket about it so I am not sure > if this is a less used feature or what. > I was able to reproduce it both on our FaaS and on the more up to date, > fineract.dev deployment so I think it has been there for quite some time. > > Would appreciate any feedback. > > Thanks, > > David Yahalomi > Co-Founder > > Rothschild Blvd 3, Tel Aviv-Yafo, Israel > mobile: + 972 52 817 9787 > email: da...@articode.co > <https://articode.co/> > > > >
Fineract: update/delete note is broken
Hey All, IDK if that was always the case, but it seems like update and delete of client note is broken. I think the other resources are in the same condition. >From what I can tell, the fault is in the NoteRepository. Could someone confirm this issue? I looked in the JIRA and could not find a ticket about it so I am not sure if this is a less used feature or what. I was able to reproduce it both on our FaaS and on the more up to date, fineract.dev deployment so I think it has been there for quite some time. Would appreciate any feedback. Thanks, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co>
Re: Fineract CN Improvement Proposal
Hey, Just wanted to chime in as it is a topic we've talked about multiple times internally. There are a couple of drawbacks to using a microservice architecture that I think we should address. The first of which is the difficulty in managing the codebase and the deployed environment. Up to now, I feel like CN has failed to address those difficulties in a good way. At the moment, there is no way to run Fineract CN without a bloated Kubernetes / Docker Compose setup. It also takes a decent amount of time just to startup everything. Even if you are using a minimal set configuration. What I would expect is to have the same experience as Serverless delivers. Using something like serverless would definitely support the composability use case that is definitely there. Also, I think that co-existence with Fineract, should be a priority. If I were to start from scratch, I would go in a path that transforms Fineract to Fineract CN by doing the required work to split the different modules of Fineract to microservices, but without changing the logic or the API that is being exposed. An example of that would be to take the users module (org.apache.fineract.useradministration) of Fineract and turn it into a microservice but the catch here would be that once you deploy this new version, it migrates the related tables to the new microservice data source (Postgres schema?) and it takes over the /users API. This way, organizations with existing Fineract deployments could also be part of this new approach and could contribute their own use cases and requirements to the mix. Adding to this approach, I think we should consider implementing those new microservices with the language that has the most amount of open-source attention, which is Javascript or better yet, Typescript. We're for one, developing all of our services on top of Fineract with Typescript and get to enjoy the rich open-source ecosystem around it that I feel like is lacking in Java. But that's a whole other topic which I think might have way more push back. Best, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> On Sun, Sep 27, 2020 at 2:27 PM Juhan Aasaru wrote: > Hi! > > Fineract-CN hasn't managed to get a community that would actively push it > forward. > It could happen in the future or it could never happen. > > Anyway - rather than changing CN to a radically different direction I > would rather advise > to gather interested parties together and start from a clean perspective > and name it > something else - Fineract NS (New Start) or whatever. > This doesn't mean it couldn't borrow code from Fineract-CN if needed. > Also we have the ability to spin up new apache/fineract-* Github > repositories whenever needed. > > The new start could only work if there is critical mass of interested > parties on board from > the start and they work together. If there is only one company outsourcing > its work > (without others having much say what technologies to use etc) then it > won't be the apache > way to build new software and thus not a very sustainable model. > > Juhan > > > Kontakt James Dailey () kirjutas kuupäeval L, 26. > september 2020 kell 19:30: > >> Thanks Saransh for bringing this conversation forward and on-list. I >> believe we need more ideas about fineract-CN, and I agree that a key >> 'story' is accessibility of the code to developers and avoiding the >> monolithic code base trap. >> >> I'll note that recently fineract 1.4 was released, a major improvement. >> That needed our strong focus and is a community success. >> >> fineract-CN has not yet had the same level of focus, but I believe that >> it should. >> >> It's important that we also have those with fineract CN in production to >> help drive the roadmap. There are several and some of those folks have >> proposed new directions as well. So, this is an active discussion. >> >> Previously we discussed on list the importance of the 'minimal set' of >> microservices. Can you say whether you have the same list or a smaller >> set? Or larger set as the required microservices for a 'release'? >> >> Or how should we think about composability? >> >> In terms of your re-architecting ideas, I look forward to learning more. >> >> @jdailey >> >> On Fri, Sep 25, 2020, 3:44 AM Saransh Sharma >> wrote: >> >>> Hey folks out there , this email is intended for Fineract CN >>> improvement, before setting the ground i would like to clear up a few >>> things ; one this is not a separate project , this concerns overall change >>> from ground up and possible variation of the existing project out there. >>>
Re: Blog post featuring Fineract and the upcoming ApachCon Fineract Track
Thanks, Javier, Ankit, and Ed! Glad to hear that the subject resonated with you and that there is a need for more content like that. One of the goals I had with this post is to appeal for both technical and non-technical c level layers of management. The reasoning for that is that I feel like most execs we engage with, hasn't heard about Fineract as a solution for their institution. I would love to hear your feedback regarding this goal, do you think it was too technical? or should I even go deeper? Best, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> On Thu, Sep 24, 2020 at 11:06 PM Ed Cable wrote: > Nice post David! I maxed out my hand claps for you. > > Echoing Ankit, I will try to get more blog content out there from Mifos on > the use cases of Fineract led by partners/users. > > Ed > > On Thu, Sep 24, 2020 at 10:28 AM Ankit Muellner > wrote: > >> This is nice David. Hope to see more blogs on different use cases on >> Fineract. >> >> On Tue, 22 Sep 2020 at 12.00, David Yahalomi wrote: >> >>> Hello Devs! >>> >>> As Javier has published on this mailing list in a past correspondence, >>> next week ApacheCon will feature Fineract on their yearly convention, now >>> from home! >>> >>> In order to attract some external attention, I've written a blog post on >>> how to create a simple loan origination flow with Fineract as the loan >>> management system. >>> >>> The post is available here - >>> https://medium.com/@davidyahalomi/loan-origination-done-right-with-fineract-519e8cefac5?sk=d7bc9cee15ac5772ee0173998b641e9b >>> >>> I've also made some social marketing attempts by posting to Twitter and >>> LinkedIn. >>> If you feel like helping spread the word, please >>> >>>1. Clap on the post >>> >>> <https://medium.com/@davidyahalomi/loan-origination-done-right-with-fineract-519e8cefac5?sk=d7bc9cee15ac5772ee0173998b641e9b> >>>(you can go up to 50 claps by keeping the clap button pressed) >>>2. Like and retweet the announcement tweet >>><https://twitter.com/DavidYahalomi/status/1308332035673591808>. >>>3. Like and share the LinkedIn post >>> >>> <https://www.linkedin.com/posts/david-yahalomi-441b3863_loan-origination-done-right-with-fineract-activity-6714105088559853568-d8L_> >>>. >>>4. Share on any other networks you feel like sharing it on :) >>> >>> Also, let me know if you would like to see more features of Fienract and >>> Mifos covered in future posts. >>> As I've mentioned, the goal is to help the community grow and share >>> what it does in more ways so that we would ultimately have much better >>> tools and products. >>> >>> Thanks ahead! >>> >>> David Yahalomi >>> >>> >>> >>> -- >> Ankit Müllner Muellners Europe +4581929792 Sent from my iPad. This mail >> is governed by Muellners® IT policy. The information contained in this >> e-mail and any accompanying documents may contain information that is >> confidential or otherwise protected from disclosure. If you are not the >> intended recipient of this message, or if this message has been addressed >> to you in error, please immediately alert the sender by reply e-mail and >> then delete this message, including any attachments. Any dissemination, >> distribution or other use of the contents of this message by anyone other >> than the intended recipient is strictly prohibited. All messages sent to >> and from this e-mail address may be monitored as permitted by applicable >> law and regulations to ensure compliance with our internal policies and to >> protect our business. E-mails are not secure and cannot be guaranteed to be >> error free as they can be intercepted, amended, lost or destroyed, or >> contain viruses. You are deemed to have accepted these risks if you >> communicate with us by e-mail. >> > > > -- > *Ed Cable* > President/CEO, Mifos Initiative > edca...@mifos.org | Skype: edcable | Mobile: +1.484.477.8649 > > *Collectively Creating a World of 3 Billion Maries | *http://mifos.org > <http://facebook.com/mifos> <http://www.twitter.com/mifos> > >
Blog post featuring Fineract and the upcoming ApachCon Fineract Track
Hello Devs! As Javier has published on this mailing list in a past correspondence, next week ApacheCon will feature Fineract on their yearly convention, now from home! In order to attract some external attention, I've written a blog post on how to create a simple loan origination flow with Fineract as the loan management system. The post is available here - https://medium.com/@davidyahalomi/loan-origination-done-right-with-fineract-519e8cefac5?sk=d7bc9cee15ac5772ee0173998b641e9b I've also made some social marketing attempts by posting to Twitter and LinkedIn. If you feel like helping spread the word, please 1. Clap on the post <https://medium.com/@davidyahalomi/loan-origination-done-right-with-fineract-519e8cefac5?sk=d7bc9cee15ac5772ee0173998b641e9b> (you can go up to 50 claps by keeping the clap button pressed) 2. Like and retweet the announcement tweet <https://twitter.com/DavidYahalomi/status/1308332035673591808>. 3. Like and share the LinkedIn post <https://www.linkedin.com/posts/david-yahalomi-441b3863_loan-origination-done-right-with-fineract-activity-6714105088559853568-d8L_> . 4. Share on any other networks you feel like sharing it on :) Also, let me know if you would like to see more features of Fienract and Mifos covered in future posts. As I've mentioned, the goal is to help the community grow and share what it does in more ways so that we would ultimately have much better tools and products. Thanks ahead! David Yahalomi
Re: [Mifos-developer] Automatic Setup/manage New Tenants on Fineract 1.x
Hey Michael, You are absolutely correct. The deployment details are crucial. For offering a production-ready environment going with hosted managed DB on a known cloud provider is a must IMO. Our FaaS tool uses the most basic deployment (to keep costs down) - single EC2 instance on AWS that holds both the Tomcat web server that provides Fineract and a local MySQL server process that holds all the tenant DBs. As you suggested, we've created a new Tenant Management Java Resource that just does "create database" and then runs the migration files on that new tenant. As I said, it works as a "default" tenant API so authentication is done using Basic auth with a system user from that tenant. Do you think that's adequate? Regarding the connection pool - we hadn't gone and tackled that one yet so it might just be the connection pool configuration that needs to be changed, but as far as I have seen, each tenant has it's own pool or at least it seems this way when you look for open connections on the MySQL server. David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> ᐧ On Thu, Jul 16, 2020 at 2:04 AM Michael Vorburger wrote: > On Wed, 15 Jul 2020, 10:02 David Yahalomi, wrote: > >> Hey Jubha and Awasum! >> >> We've created FaaS (Fineract as a service) <https://faas.articode.co/> >> and part of that was automating the creation of new tenants. Our service is >> public and meant for development purposes so the API to create new tenants >> did not include any security considerations. >> That being said, the front end site does not send requests directly to >> Fineract but rather goes through an AWS lambda function (that could >> potentially check for permissions/credits and whatnot) and it handles >> calling Fineract. >> > >> We have created a system user on the "default" tenant and it is used to >> authenticate against this new "create tenant" API. >> We would love to contribute this process if we could figure out a way to >> deliver that functionality without too many moving parts. ideally, the >> current Fineract server should handle the whole process on its own. >> > > The crux I think is that creating an additional DB for a new Tenant is > somewhat dependent on the details of the actual deployment... > > How do you create a new Tenant DB? Just SQL "create database newtenant;", > OR using an API of a managed database by your favorite Cloud provider? > (E.g. https://www.fineract.dev uses https://cloud.google.com/sql, but > YMMV, fair enough.) > > But anyone motivated to do this sure could still make a start with > contributing a Pull Request that adds a new Tenant Management Java Resource > class eyc. for API which, for now, does the SQL (and that could later be > extended for specific managed DBs in cloud). Go for it! > > Another consideration is scaling of such a setup. At the moment, Fineract >> handles each tenant with it's own DB connection. That means that many >> resources are allocated at the booting stage of Fineract server but >> potentially never used (on less active tenants). This is something that we >> should potentially figure out before offering production-grade deployment >> of Fineract as a service. >> > > I'm not sure I understand what exactly you mean here (just set the > connection pool configuration appropriately, no?), but Pull Requests with > any suggested Improvements to connection handling are always welcome, of > course. > > Best, >> >> David Yahalomi >> Co-Founder >> >> Rothschild Blvd 3, Tel Aviv-Yafo, Israel >> mobile: + 972 52 817 9787 >> email: da...@articode.co >> <https://articode.co> >> >> ᐧ >> >> On Wed, Jul 15, 2020 at 10:27 AM jubha mayala >> wrote: >> >>> Hi All, I do not remember the name, but some guys from Israel have done >>> this kind of thing. And they shared here the demo for people to have a look >>> and test. anybody remembers this please point out their name. >>> >>> On Wed, Jul 8, 2020 at 7:08 PM Saransh Sharma >>> wrote: >>> >>>> Definitely, this could be a bonus if we could do the same for fineract >>>> cn. >>>> >>>> Some thoughts, >>>> >>>> Super user can only or special right with 2fa API access. >>>> >>>> No delete option >>>> >>>> We can use db to be loaded as a service where , flyway migration >>>> happens real time. >>>> >>>> Let me know what you think >>>> >&
Re: [Mifos-developer] Automatic Setup/manage New Tenants on Fineract 1.x
Hey Jubha and Awasum! We've created FaaS (Fineract as a service) <https://faas.articode.co/> and part of that was automating the creation of new tenants. Our service is public and meant for development purposes so the API to create new tenants did not include any security considerations. That being said, the front end site does not send requests directly to Fineract but rather goes through an AWS lambda function (that could potentially check for permissions/credits and whatnot) and it handles calling Fineract. We have created a system user on the "default" tenant and it is used to authenticate against this new "create tenant" API. We would love to contribute this process if we could figure out a way to deliver that functionality without too many moving parts. ideally, the current Fineract server should handle the whole process on its own. Another consideration is scaling of such a setup. At the moment, Fineract handles each tenant with it's own DB connection. That means that many resources are allocated at the booting stage of Fineract server but potentially never used (on less active tenants). This is something that we should potentially figure out before offering production-grade deployment of Fineract as a service. Best, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> ᐧ On Wed, Jul 15, 2020 at 10:27 AM jubha mayala wrote: > Hi All, I do not remember the name, but some guys from Israel have done > this kind of thing. And they shared here the demo for people to have a look > and test. anybody remembers this please point out their name. > > On Wed, Jul 8, 2020 at 7:08 PM Saransh Sharma > wrote: > >> Definitely, this could be a bonus if we could do the same for fineract >> cn. >> >> Some thoughts, >> >> Super user can only or special right with 2fa API access. >> >> No delete option >> >> We can use db to be loaded as a service where , flyway migration happens >> real time. >> >> Let me know what you think >> >> >> >> On Wed, 8 Jul 2020, 19:25 Awasum Yannick, wrote: >> >>> Hi All, >>> >>> I think it will be a good idea to automate the process of creating and >>> managing new tenants (DBs) on Fineract 1.x. At the moment, this is done via >>> manual process and scripts as seen here: >>> https://mifosforge.jira.com/wiki/spaces/docs/pages/187498786/How+to+Setup+New+Trail+Instance >>> >>> Will it be a good idea to automate this process so that each new tenant >>> is created using say, an API endpoint? Maybe this endpoint will need to be >>> protected (secure) so that not anyone can create a new tenant? How do we >>> secure this process? >>> >>> >>> Any thoughts? Are there people who have done things like this before? >>> and might want to contribute back? >>> >>> I created an issue for this: >>> https://issues.apache.org/jira/browse/FINERACT-1081 >>> >>> >>> Thanks. >>> Awasum >>> >> Mifos-developer mailing list >> mifos-develo...@lists.sourceforge.net >> Unsubscribe or change settings at: >> https://lists.sourceforge.net/lists/listinfo/mifos-developer > >
Re: Introducing Fineract as a Service
Hey All! We're almost at a hundred instances so it seems like it is ready to hit the general public :) I've written a short blog post to showcase the process of creating an instance and then I went on to explain a bit on how to create a financing solution with Fineract. I think such posts could help with driving more developers to this awesome community which will, in turn, mean that Fineract will have more use cases, traction, and contributions that we could all benefit from. It would help a lot if you could share this post with your peers and even give a clap (or 50!) in Medium. The link to the blog post - https://medium.com/@davidyahalomi/3f38a0bf0a3a?source=friends_link=b0dbc76184e6aa1b026366cb3b6426d8 Thanks a lot for using this service! Best, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> ᐧ On Tue, Apr 14, 2020 at 1:12 PM Daniel Liechtenstein wrote: > Dear Community Members, > > I'm happy to share that since my previous mail, more than *60 *unique > tenants were deployed and I have received great feedback. Thank you all for > using our FaaS <https://faas.articode.co/> tool. > > I would be happy to know if you find it useful or how can we modify it so > it will better suit the community needs. > > Also, we are constantly developing more features and services (such as our > PCI environment automation) and I am always interested to know if our work > might aid some of the community needs. I would really appreciate if you > could find the time and fill this short survey so we could learn more about > the community needs. > > https://articode.typeform.com/to/ZEl3KE > <https://articode.typeform.com/to/ZEl3KE> > > Best wishes, > -- > Daniel Liechtenstein > Business Development > Partner > > Rothschild Blvd 3, Tel Aviv-Yafo, Israel > mobile: + 972 50 848 7788 > email: dan...@articode.co > > ᐧ > > On Tue, Mar 31, 2020 at 11:06 AM Daniel Liechtenstein > wrote: > >> Dear Fineract Community Members, >> >> My name is Daniel and I'm the VP bizdev of Articode, a software >> development company located in Israel. I'm happy to be a part of the >> community and I would like to share with you a cool product that we >> developed that any of you can use. >> >> Fineract as a Service - Automation of Multitenancy >> <https://faas.articode.co/> >> >> We have created a simple form for anyone who wishes to test and try >> Fineract and the community app of Mifos X. >> The flow is simple - choose your bank name - upload your logo - enter >> basic information and that’s it! You will receive an email with your own >> instance link and unique credentials in about 2 min! >> >> Behind the scene, we have automated the entire process of building a new >> tenant on our Fineract server. >> >> Furthermore, we have automated the deployment of Fineract on a PCI >> compliant environment using CloudForamation, an AWS tool for automating the >> provision of resources on a cloud environment. The PCI environment is >> currently not provisioned due to maintenance cost but if any of you would >> like to learn more you are more than welcome to contact me. >> >> You are welcome to try our product and to contact us if you have any >> questions. >> I hope you'll find this useful and I hope to share more with you in the >> near future. >> Best, >> >> -- >> Daniel Liechtenstein >> Business Development >> Partner >> >> Rothschild Blvd 3, Tel Aviv-Yafo, Israel >> mobile: + 972 50 848 7788 >> email: dan...@articode.co >> >> ᐧ >> > > > -- > Daniel Liechtenstein > Business Development > Partner > > Rothschild Blvd 3, Tel Aviv-Yafo, Israel > mobile: + 972 50 848 7788 > email: dan...@articode.co > >
Re: Invitation to join Open Banking Working Group
Hey Ed, Please, sign us up. Thanks, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> ᐧ On Wed, Mar 11, 2020 at 3:27 PM Steve Conrad wrote: > Thanks Ed. Please add me to the group as well. > Discourse ID: conradsp > > On Wed, Mar 11, 2020 at 12:41 AM Ed Cable wrote: > >> Hi everyone, >> >> As you know, as part of our grant from DIAL last year, the Mifos >> Initiative completed a proof of concept implementation of the UK Open >> Banking API standard on top of the WS02 API Gateway for Account Information >> and Payment Initiation requests. These Open Banking APIs are to serve as >> the Open Banking API layer on top of Fineract but also to replace the >> self-service APIs and provides secure way for both trusted first party as >> well as third party apps to connect. >> >> I wanted to convene a working group of experts across the community to >> help advance those efforts as well as formulate a roadmap, explore >> different API gateways, etc. >> >> Some of the next steps we have at the moment are to map out current >> self-service APIs to the UK Open Banking API standards so our suite of >> first party apps like our mobile banking, mobile wallet, and online banking >> apps can connect. >> >> I'd also like to discuss creating comprehensive documentation as well as >> launching a developer portal around these APIs. >> >> I would like to use a Discourse group to house the discussion. >> >> If you're interested in joining, could you please reply to this mail and >> also create an account on our Discourse and I'll add you to the group. >> >> Best wishes, >> >> Ed >> >> Here is some of the past discussion on the topic. >> >> A couple recent threads on list that covered this topic and I linked to >> some of the background where we aimed to use Open Banking API as the secure >> means of connecting both trusted first party apps (i.e. mobile banking) as >> wells third party apps to the back-end. >> >> https://markmail.org/thread/pijv4kb5i5lmqx33 >> >> >> Here are the resources on Open Banking. I will share with you the lab >> environment soon and the repositories where all the open banking >> configuration is at. >> >> Docs: https://mifos.gitbook.io/docs/ >> >> *Mifos API Gateway Technical Overview:* >> >> Mifos API Gateway Technical Overview >> <https://docs.google.com/a/mifos.org/document/d/1Dt5GlMA5USlPHishVQp4M1FY-D6tz8g9aZjCayi-jkg/edit?usp=drive_web> >> >> Fineract API Gateway implementation - Handover ... >> <https://docs.google.com/a/mifos.org/document/d/1F7Wz5TaHfZ0quS-qjrUJleXWYwtRfMXdnZy3MdC50ws/edit?usp=drive_web> >> >> >> Webinar Demoing the POC built out >> https://www.youtube.com/watch?v=EcP5U-hPwpY >> >> >> >>
Re: Issue with Fineract 1.4
Hey Ivan, The PR opened by Tomer is ready: https://github.com/apache/fineract/pull/711 . Thanks ahead, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> ᐧ On Thu, Jan 30, 2020 at 3:17 PM David Yahalomi wrote: > Thanks Ivan! > It worked great! > > Tomer, my teammate will PR asap. > > Best, > David Yahalomi > Co-Founder > > Rothschild Blvd 3, Tel Aviv-Yafo, Israel > mobile: + 972 52 817 9787 > email: da...@articode.co > <https://articode.co> > > ᐧ > > On Thu, Jan 30, 2020 at 10:52 AM Ivan Bondarenko > wrote: > >> Hi David! >> >> You need to make AbstractPersistableCustom Serializable. >> >> In other words: >> >> ... AbstractPersistableCustom implements Serializable ... >> >> And run with clean DB. >> >> The issue is in AppUser desiarilization I gess . >> >> If it works, create PR, please. >> >> Ivan >> >> >> >> чт, 30 янв. 2020 г. в 10:42, David Yahalomi : >> >>> Hey Ivan, >>> >>> Thanks for replying! >>> We've used the oauth option. >>> >>> The stacktrace as printed in catalina.out: >>> >>> at >>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) >>> at >>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:128) >>> at >>> org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:528) >>> at >>> org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) >>> at >>> org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) >>> at >>> org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153) >>> at >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>> at >>> org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:144) >>> at >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>> at >>> org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$ExposeRepositoryInvocationInterceptor.invoke(CrudMethodMetadataPostProcessor.java:364) >>> at >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>> at >>> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93) >>> at >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>> at >>> org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:61) >>> at >>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>> at >>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) >>> at org.apache.fineract.portfolio.client.domain.$Proxy239.save(Unknown >>> Source) >>> at >>> org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper.save(ClientRepositoryWrapper.java:67) >>> at >>> org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper$$FastClassBySpringCGLIB$$a54487b3.invoke() >>> at >>> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) >>> at >>> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) >>> at >>> org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper$$EnhancerBySpringCGLIB$$eb415882.save() >>> at >>> org.apache.fineract.portfolio.client.service.ClientWritePlatformServiceJpaRepositoryImpl.createClient(ClientWritePlatformServiceJpaRepositoryImpl.java:306) >>> at >>> org.apache.fineract.portfolio.client.service.ClientWritePlatformServiceJpaRepositoryImpl$$FastClassBySpringCGLIB$$71ca1b7f.invoke() >>> at >>> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) >
Re: Issue with Fineract 1.4
Thanks Ivan! It worked great! Tomer, my teammate will PR asap. Best, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> ᐧ On Thu, Jan 30, 2020 at 10:52 AM Ivan Bondarenko wrote: > Hi David! > > You need to make AbstractPersistableCustom Serializable. > > In other words: > > ... AbstractPersistableCustom implements Serializable ... > > And run with clean DB. > > The issue is in AppUser desiarilization I gess . > > If it works, create PR, please. > > Ivan > > > > чт, 30 янв. 2020 г. в 10:42, David Yahalomi : > >> Hey Ivan, >> >> Thanks for replying! >> We've used the oauth option. >> >> The stacktrace as printed in catalina.out: >> >> at >> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) >> at >> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:128) >> at >> org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:528) >> at >> org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) >> at >> org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) >> at >> org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153) >> at >> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >> at >> org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:144) >> at >> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >> at >> org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$ExposeRepositoryInvocationInterceptor.invoke(CrudMethodMetadataPostProcessor.java:364) >> at >> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >> at >> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93) >> at >> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >> at >> org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:61) >> at >> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >> at >> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) >> at org.apache.fineract.portfolio.client.domain.$Proxy239.save(Unknown >> Source) >> at >> org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper.save(ClientRepositoryWrapper.java:67) >> at >> org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper$$FastClassBySpringCGLIB$$a54487b3.invoke() >> at >> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) >> at >> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) >> at >> org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper$$EnhancerBySpringCGLIB$$eb415882.save() >> at >> org.apache.fineract.portfolio.client.service.ClientWritePlatformServiceJpaRepositoryImpl.createClient(ClientWritePlatformServiceJpaRepositoryImpl.java:306) >> at >> org.apache.fineract.portfolio.client.service.ClientWritePlatformServiceJpaRepositoryImpl$$FastClassBySpringCGLIB$$71ca1b7f.invoke() >> at >> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) >> at >> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:750) >> at >> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) >> at >> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295) >> at >> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) >> at >> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >> at >> org.springframework.aop.fra
Re: Issue with Fineract 1.4
nterceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) ... 183 common frames omitted Currently trying to debug the process locally. Will let you know if something comes up. Thanks again, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> ᐧ On Wed, Jan 29, 2020 at 9:54 PM Ivan Bondarenko wrote: > Hello David! > > Could you provide full stacktrace? > Do you use basic or oauth authentication? > > Could you try following: "AbstractPersistableCustom implements > Serializable"? > > Ivan > > ср, 29 янв. 2020 г. в 20:26, David Yahalomi : > >> Hey there, >> >> We've tried using Fineract 1.4 release tag and got this exception while >> trying to create a new entity (tried user, client, glaccount and office) on >> a new clean database: >> >> org.apache.openjpa.persistence.InvalidStateException: Encountered >> unmanaged object >> "org.apache.fineract.useradministration.domain.AppUser@3ac92522" in life >> cycle state unmanaged while cascading persistence via field "org.apach >> e.fineract.portfolio.client.domain.Client.submittedBy" during flush. >> However, this field does not allow cascade persist. You cannot flush >> unmanaged objects or graphs that have persistent associations to unmanaged >> objects. >> Suggested actions: a) Set the cascade attribute for this field to >> CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or "persist" or >> "all" (JPA orm.xml), >> b) enable cascade-persist globally, >> c) manually persist the related field value prior to flushing. >> d) if the reference belongs to another context, allow reference to it by >> setting StoreContext.setAllowReferenceToSiblingContext(). >> >> Has anyone experienced the same? >> >> Thanks ahead, >> >> David Yahalomi >> Co-Founder >> >> Rothschild Blvd 3, Tel Aviv-Yafo, Israel >> mobile: + 972 52 817 9787 >> email: da...@articode.co >> <https://articode.co> >> ᐧ >> >
Issue with Fineract 1.4
Hey there, We've tried using Fineract 1.4 release tag and got this exception while trying to create a new entity (tried user, client, glaccount and office) on a new clean database: org.apache.openjpa.persistence.InvalidStateException: Encountered unmanaged object "org.apache.fineract.useradministration.domain.AppUser@3ac92522" in life cycle state unmanaged while cascading persistence via field "org.apach e.fineract.portfolio.client.domain.Client.submittedBy" during flush. However, this field does not allow cascade persist. You cannot flush unmanaged objects or graphs that have persistent associations to unmanaged objects. Suggested actions: a) Set the cascade attribute for this field to CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or "persist" or "all" (JPA orm.xml), b) enable cascade-persist globally, c) manually persist the related field value prior to flushing. d) if the reference belongs to another context, allow reference to it by setting StoreContext.setAllowReferenceToSiblingContext(). Has anyone experienced the same? Thanks ahead, David Yahalomi Co-Founder Rothschild Blvd 3, Tel Aviv-Yafo, Israel mobile: + 972 52 817 9787 email: da...@articode.co <https://articode.co> ᐧ
Re: DISCUSS: Architecture/Design for Enabling External Apps to securely access data on Apache Fineract CN
Hello Fineracters, *TL;DR*: Let's start with a threats list and discuss each threat on it's own and in composition. I'm David from Articode and I've recently started setting up a self service fineract solution. In the past I've worked on developing a digital self service branch for the 2nd biggest bank in Israel. Their core used T24 by the swiss company Temenos. I have recently been in contact with Ed and Fiter from the fineract community, and I was asked by Ed to chime in this thread. In my experience, making a secure self service mobile application has many concerns and requirements but most of those are addressed in deployment architecture and the creation of a good audit and session management tool. Is there a documented list of possible threats in having a self service mobile app? If not, I think it will be a great first step. I would gladly start one on the confluence. Once curated, we can introduce various solutions to defend against any of those threats in various environments, but I think that the list is a mandatory step. Best, David