Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id DB048200B66 for ; Thu, 4 Aug 2016 08:10:41 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id D99FF160A8C; Thu, 4 Aug 2016 06:10:41 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 07490160A86 for ; Thu, 4 Aug 2016 08:10:40 +0200 (CEST) Received: (qmail 64738 invoked by uid 500); 4 Aug 2016 06:10:40 -0000 Mailing-List: contact dev-help@fineract.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@fineract.incubator.apache.org Delivered-To: mailing list dev@fineract.incubator.apache.org Received: (qmail 64726 invoked by uid 99); 4 Aug 2016 06:10:39 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Aug 2016 06:10:39 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 7885A18062B for ; Thu, 4 Aug 2016 06:10:39 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.72 X-Spam-Level: X-Spam-Status: No, score=-0.72 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=confluxtechnologies-com.20150623.gappssmtp.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id ANUNOSK_NydQ for ; Thu, 4 Aug 2016 06:10:37 +0000 (UTC) Received: from mail-pa0-f42.google.com (mail-pa0-f42.google.com [209.85.220.42]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id CD3615F306 for ; Thu, 4 Aug 2016 06:10:36 +0000 (UTC) Received: by mail-pa0-f42.google.com with SMTP id iw10so80407157pac.2 for ; Wed, 03 Aug 2016 23:10:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=confluxtechnologies-com.20150623.gappssmtp.com; s=20150623; h=from:to:references:in-reply-to:subject:date:message-id:mime-version :content-transfer-encoding:thread-index:content-language; bh=mbcN3QOomdI86xjqb5uUVs83TxXfOQZlfaHvNm8krHI=; b=VZ9lTBPfAkHx1IEmUjXf2PPmv1JgARIAtlmcogLthSqWJ7hD7+YJhyonmWKO4GNq6x cHT+I7xE6rBkpFvkmpcXlUuz3M3i+tZT1BIsgdZ1gq1O87fdc+uKUdJJjgDXqLMNowl0 rVAUtfbvjVuKknBlsVT2k5qbQ+PsL5ymPnrAIIM6REsPslaHFQ5H2QB0cCEMaHo5IB1I 3MfHW4iS57oimCaoW0NUm48uQYyp/gx7f2oeqAqxV5JUlHXG/HqrXLqqBMw8l4/Nitde gGEkI6ISrUc4V8nhITfEaREJ1GND8q0ipg30MG1FHQuUDqYUI4friaJEhXJoVistAe0k rMsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:references:in-reply-to:subject:date :message-id:mime-version:content-transfer-encoding:thread-index :content-language; bh=mbcN3QOomdI86xjqb5uUVs83TxXfOQZlfaHvNm8krHI=; b=Bohz5IuyQ6W/mFA03NehtDyLDqV5WoI2GeCElunFCRNGRXEVUIPbjo/z4+/ZGRreHN zEDpmS+QY6S0+0iZqBL5vSmzqkPInfUvtvre3V85g/xu6+dW1yLrUxXqw0N3Z4+ejUbN rGVe+gREoYwOwtUlbYuEokAQMREVhffl0IprBsR0/rUNjDxDPXRLCCH06f8sBZKjda8x Ye+pM5+hZmpXDqJYOcvKd+bxANNMurvUxQQpWafW+7NGkZBHdpsvSh/j6lXyEpfMYc4e yyz48k9bPcEFf92zIcUMVYrfSqaFCT8BTkn+04UEPDZmbMocHSqmOtX5Lk9tbxQC1QIh gciw== X-Gm-Message-State: AEkoousZi5YazP7KIhs+SAf1j8k2xGT5ANeHgvNV9HFt4zEadUWfQskVMJ4XlBbCVmdEXQ== X-Received: by 10.66.172.237 with SMTP id bf13mr124607217pac.42.1470291035117; Wed, 03 Aug 2016 23:10:35 -0700 (PDT) Received: from ConfluxAdi ([106.51.39.37]) by smtp.gmail.com with ESMTPSA id h66sm16855474pfe.58.2016.08.03.23.10.32 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Aug 2016 23:10:32 -0700 (PDT) From: "Adi Raju" To: References: <03d701d1ed48$88bcfc50$9a36f4f0$@confluxtechnologies.com> In-Reply-To: Subject: RE: Maker-Checker principle and Document management Date: Thu, 4 Aug 2016 11:40:31 +0530 Message-ID: <008b01d1ee16$e95380b0$bbfa8210$@confluxtechnologies.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQIvLEi9KkGjYtCS5MX1E7BY1MB0xwF80BUSAllAiQSfXyHkcA== Content-Language: en-in archived-at: Thu, 04 Aug 2016 06:10:42 -0000 Hi Lionel, Document is not part of any Loan processing workflow restrictions as of = now. So, as I see from your requirement, for someone to go ahead with loan = approval or disbursal, they just need to know that the document is = verified. We need not restrict download or update of documents in any way. Only we need to add an API that approves a document. This API can be = under maker checker framework(existing). Person taking the approval/disbursal action can just look at the status = of the document and know that it is a maker-checker verified document. Regards, Adi -----Original Message----- From: Lionel Raymundi - Poincenot [mailto:lionel@poincenot.com]=20 Sent: 04 August 2016 00:51 To: dev@fineract.incubator.apache.org Subject: Re: Maker-Checker principle and Document management Thanks Adi, I dont know if I understood you correctly. Aiming to clarify, I = enumerate some conditions of satisfaction for this enhancement. 1.- Document management API should not return documents which has the = approved flag in false. 2.- Checker should be able to see the pending document on the maker = checker tray. 3.- Checker should be able to approve the document. 4.- Checker should be able to reject the document (then the document = should be removed from filestore?) 5.- All of the above is true if maker-checker is enabled by = configuration for documents. Otherwise the behavior should be the same = as current state (all documents are shown by document management api and = there are no actions required by checker) Accomplishing 1 is easy with the flag you suggested. To accomplish 2, 3 and 4, I think we should add an entry to the audit = table m_portfolio_command_source (maybe with command_as_json as empty = object), so the check task can be handled by makercheckers resource api. = The approval command would set the document flag as true and persist the = info of the checker in the audit table. The reject command would remove = the document from filestore and from table m_document. Please correct me if I'm wrong, I'll be looking forward to your = response. Should we open an issue/task in jira to comment on this matter? Thanks again Lionel 2016-08-03 2:33 GMT-03:00 Adi Raju : > Hi Lionel, > > Maker-checker enabled API workflow is like this: > 1. Maker invokes an API > 2. System does all the validation, reverses the transaction and stores = > the complete API as part of audit table (No DB changes) 3. Checker=20 > reviews the API request and approves 4. The API is invoked again and=20 > the transaction taken to completion (DB changes happen only here) > > In case of documents, we need to store the documents on the server and = > track its location, so DB change has to happen. So Maker-Checker=20 > workflow doesn't apply here. > May be no body wanted a maker checker verification on documents till = now. > > You are most welcome to contribute with this enhancement. > My suggestion would be as follows: > Introduce new field in documents table 'is_approved'. > Introduce a new POST API '/documents/?command=3Dapprove',=20 > which is the only way to change the status of the document. > This API can be under maker-checker workflow. > > Regards, > Adi > > -----Original Message----- > From: Lionel Raymundi - Poincenot [mailto:lionel@poincenot.com] > Sent: 02 August 2016 22:35 > To: dev@fineract.incubator.apache.org > Subject: Maker-Checker principle and Document management > > Hi guys, > > I am facing a scenario where we need to apply a maker/checker scheme=20 > to the documents uploaded for a client. A user may upload a file=20 > saying it is an important company document, and somebody else should=20 > check that the document is in fact what the former said it is. > > I tested it through community app, I was able to configure it, but it=20 > didn't work (i mean, there was no need to validate the document for it = > to be attached to the client). I made a fast review of the code, and I = > think maker/checker scheme is not being validated at all when handling = > documents in Fineract. > > So I have some questions... > 1) Is there any technical/business issue which prevents to develop=20 > this feature? > 2) If not, are you planning to develop this feature? > 3) if not, is it useful if I start with it? > 4) if so, should I "inspire" in any other maker/checker handling = feature? > Would you recommend any? > > Thanks in advance, > > Lionel > >