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 586F6200B49 for ; Wed, 3 Aug 2016 21:21:26 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 56D9E160A86; Wed, 3 Aug 2016 19:21:26 +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 77C69160A5D for ; Wed, 3 Aug 2016 21:21:25 +0200 (CEST) Received: (qmail 10399 invoked by uid 500); 3 Aug 2016 19:21:24 -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 10386 invoked by uid 99); 3 Aug 2016 19:21:24 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Aug 2016 19:21:24 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id E3C0EC2413 for ; Wed, 3 Aug 2016 19:21:23 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.28 X-Spam-Level: * X-Spam-Status: No, score=1.28 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=poincenot-com.20150623.gappssmtp.com Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id eDsUiYHMSDKR for ; Wed, 3 Aug 2016 19:21:22 +0000 (UTC) Received: from mail-ua0-f197.google.com (mail-ua0-f197.google.com [209.85.217.197]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id BC59760E8D for ; Wed, 3 Aug 2016 19:21:21 +0000 (UTC) Received: by mail-ua0-f197.google.com with SMTP id n59so294927607uan.1 for ; Wed, 03 Aug 2016 12:21:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=poincenot-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=ZANIcXweig8jku1bIkAxLkjXEod6iUT3Dv8ixxfIdcA=; b=rGKKn/D5tCdEnuBzhkFYUiCVJxKpTGqqW6i57NfnMX9B7nJJTEPbYjnJkqi7YZReee UDBaE5RaRVD0xkXXF7XJPqFV9FPpon30hYnvjf4Tp3gB+oKydso9XA6fra1NrdPeOXEP M3zj5PogoRCsfeiiXzauKA3c4l34RAxPAftc2n2EnfNl+byTAfq2Mj+We/RhK3zfau0e hUXATF44veZXrNIqZ6vyvq/4t3LidPxc1OrCmWfKJYW8dXWVGmd1rWPaalUAbTCi9NhG j/M2G5/BaRYartEh3XqW27ylGvBUFwbdoJKiB7SxTw7Xjh/Hf6epZj+053078WKind/K k67Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=ZANIcXweig8jku1bIkAxLkjXEod6iUT3Dv8ixxfIdcA=; b=Mk1df1eWcAoLDqs2aKBj+TnzLYB2VTmXhLxVc1w8GrcKY+ahWOiAh/vF8tosLxc0fe FC0pnfWkyI0Voj2NGcr2alxZZRE4UT+lzqcKDu4EJMZ/OZczKydjhVTSG6OMQHP/iUUH k3bRegBbcmJbUjvlhroz2CfxbbhmiYGiJ1qgU4wbi4aMm8lS6mT5exZ7J/t7qJD4VePR GgjVilOm7fs6l3DPSITHisNWJvgtn/PuIEyKX7bvaM9cs+5G8Dj0L4SZyoA/eJU7O3n4 stlGO4/SViwG4B+uowfxFPrWFSghih/uYgqoC8YwNNZkbu6FL4MekZdViQ9mzBdHtwJf 8BYg== X-Gm-Message-State: AEkoouup/BQ9RQc4ogebcsTVqrWyvwIh0/0WBlCJbTgUVFnz10hlJNJjPwPgE/deopZ3jHeJ8NARhHH9pFxnog== X-Received: by 10.176.0.214 with SMTP id 80mr32927265uaj.17.1470252074312; Wed, 03 Aug 2016 12:21:14 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.196.131 with HTTP; Wed, 3 Aug 2016 12:20:53 -0700 (PDT) In-Reply-To: <03d701d1ed48$88bcfc50$9a36f4f0$@confluxtechnologies.com> References: <03d701d1ed48$88bcfc50$9a36f4f0$@confluxtechnologies.com> From: Lionel Raymundi - Poincenot Date: Wed, 3 Aug 2016 16:20:53 -0300 Message-ID: Subject: Re: Maker-Checker principle and Document management To: dev@fineract.incubator.apache.org Content-Type: multipart/alternative; boundary=001a113acdde9ec56b05392fbce4 archived-at: Wed, 03 Aug 2016 19:21:26 -0000 --001a113acdde9ec56b05392fbce4 Content-Type: text/plain; charset=UTF-8 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 reviews the API request and approves > 4. The API is invoked again and 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 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=approve', 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 to > the documents uploaded for a client. A user may upload a file saying it is > an important company document, and somebody else should 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 > 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 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 > > --001a113acdde9ec56b05392fbce4--