Podling Report Reminder - August 2016

2016-08-03 Thread johndament
Dear podling,

This email was sent by an automated system on behalf of the Apache
Incubator PMC. It is an initial reminder to give you plenty of time to
prepare your quarterly board report.

The board meeting is scheduled for Wed, 17 August 2016, 10:30 am PDT.
The report for your podling will form a part of the Incubator PMC
report. The Incubator PMC requires your report to be submitted 2 weeks
before the board meeting, to allow sufficient time for review and
submission (Wed, August 03).

Please submit your report with sufficient time to allow the Incubator
PMC, and subsequently board members to review and digest. Again, the
very latest you should submit your report is 2 weeks prior to the board
meeting.

Thanks,

The Apache Incubator PMC

Submitting your Report

--

Your report should contain the following:

*   Your project name
*   A brief description of your project, which assumes no knowledge of
the project or necessarily of its field
*   A list of the three most important issues to address in the move
towards graduation.
*   Any issues that the Incubator PMC or ASF Board might wish/need to be
aware of
*   How has the community developed since the last report
*   How has the project developed since the last report.

This should be appended to the Incubator Wiki page at:

http://wiki.apache.org/incubator/August2016

Note: This is manually populated. You may need to wait a little before
this page is created from a template.

Mentors
---

Mentors should review reports for their project(s) and sign them off on
the Incubator wiki page. Signing off reports shows that you are
following the project - projects that are not signed may raise alarms
for the Incubator PMC.

Incubator PMC


REMINDER: Developer Meeting Hosted by Thursday at 1400GMT via GoToTraining

2016-08-03 Thread Ed Cable
Hi all,

This is a reminder about our Developer Meeting happening Thursday at
1400GMT via GoToTraining.

Register to attend here
https://attendee.gototraining.com/rt/3548156283063983361


As we did during our last user meetup, the main focus of our meeting will
be showcasing the work of our GSCO interns who have entered the final
months of their internships.

They will be showcasing some of their in-progress work including
re-skinning of our Community App, offline access via Android and the
browser, notifications via the web app, mobile self-service, integration
with credit bureaus, and integration with mobile money.

We'll also be giving updates on the work of the core team and the
transition to Apache.

We'd love to have you attend so hope to see you there.

Cheers,

Ed


Re: Maker-Checker principle and Document management

2016-08-03 Thread Lionel Raymundi - Poincenot
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:lio...@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
>
>


[jira] [Commented] (FINERACT-70) Rename deleted standing instruction by appending "_deleted_" string and the id

2016-08-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/FINERACT-70?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15405882#comment-15405882
 ] 

ASF GitHub Bot commented on FINERACT-70:


Github user asfgit closed the pull request at:

https://github.com/apache/incubator-fineract/pull/193


> Rename deleted standing instruction by appending "_deleted_" string and the id
> --
>
> Key: FINERACT-70
> URL: https://issues.apache.org/jira/browse/FINERACT-70
> Project: Apache Fineract
>  Issue Type: Improvement
>Reporter: Emmanuel Nnaa
>Assignee: Markus Geiss
>Priority: Minor
>
> Rename deleted standing instruction by appending "_deleted" string and the id.
> Add the following method to "AccountTransferStandingInstruction" class:
> {code}
> public void delete() {
> this.status = StandingInstructionStatus.DELETED.getValue();
> this.name = this.name + "_deleted" + this.getId();
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (FINERACT-205) If the disbursement date is changed to next meeting date during loan disbursement then first repayment date is falling on disbursement date in repayment schedule

2016-08-03 Thread subramanyasn (JIRA)

 [ 
https://issues.apache.org/jira/browse/FINERACT-205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

subramanyasn updated FINERACT-205:
--
Attachment: JLG Loans.png

> If the disbursement date is changed to next meeting date during loan 
> disbursement then first repayment date is falling on disbursement date in 
> repayment schedule
> -
>
> Key: FINERACT-205
> URL: https://issues.apache.org/jira/browse/FINERACT-205
> Project: Apache Fineract
>  Issue Type: Bug
>  Components: Loan
>Reporter: subramanyasn
>Assignee: Markus Geiss
> Attachments: JLG Loans.png
>
>
> 1. Create simple loan product.
> 2. Create a group with meeting attached, weekly every 1 week Friday, from 01 
> January 2016.
> 3. Create a client under that Group and submit new JLG loan with weekly 
> repayment on 01 January 2016, expected disbursement on 01 January 2016. 
> 4. Approve on 01 January 2016, during disbursement modify date to next 
> meeting date ie on 08 January 2016.
> > The repayment schedule should get generated such that the first repayment 
> > falls on 15 January 2016. But the first repayment falling on the date of 
> > disbursement ie on 08 January 2016.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (FINERACT-65) Implement ability to schedule & e-mail reports

2016-08-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/FINERACT-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15405690#comment-15405690
 ] 

ASF GitHub Bot commented on FINERACT-65:


Github user nazeer1100126 commented on a diff in the pull request:

https://github.com/apache/incubator-fineract/pull/191#discussion_r73314684
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/service/ReportMailingJobWritePlatformServiceImpl.java
 ---
@@ -0,0 +1,495 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.fineract.infrastructure.reportmailingjob.service;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.fineract.infrastructure.core.api.JsonCommand;
+import 
org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
+import 
org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder;
+import 
org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityException;
+import org.apache.fineract.infrastructure.core.service.DateUtils;
+import org.apache.fineract.infrastructure.dataqueries.domain.Report;
+import 
org.apache.fineract.infrastructure.dataqueries.domain.ReportRepositoryWrapper;
+import 
org.apache.fineract.infrastructure.dataqueries.service.ReadReportingService;
+import 
org.apache.fineract.infrastructure.documentmanagement.contentrepository.FileSystemContentRepository;
+import org.apache.fineract.infrastructure.jobs.annotation.CronTarget;
+import 
org.apache.fineract.infrastructure.jobs.exception.JobExecutionException;
+import org.apache.fineract.infrastructure.jobs.service.JobName;
+import 
org.apache.fineract.infrastructure.report.provider.ReportingProcessServiceProvider;
+import 
org.apache.fineract.infrastructure.report.service.ReportingProcessService;
+import 
org.apache.fineract.infrastructure.reportmailingjob.ReportMailingJobConstants;
+import 
org.apache.fineract.infrastructure.reportmailingjob.data.ReportMailingJobEmailAttachmentFileFormat;
+import 
org.apache.fineract.infrastructure.reportmailingjob.data.ReportMailingJobEmailData;
+import 
org.apache.fineract.infrastructure.reportmailingjob.data.ReportMailingJobPreviousRunStatus;
+import 
org.apache.fineract.infrastructure.reportmailingjob.data.ReportMailingJobStretchyReportParamDateOption;
+import 
org.apache.fineract.infrastructure.reportmailingjob.domain.ReportMailingJob;
+import 
org.apache.fineract.infrastructure.reportmailingjob.domain.ReportMailingJobRepository;
+import 
org.apache.fineract.infrastructure.reportmailingjob.domain.ReportMailingJobRepositoryWrapper;
+import 
org.apache.fineract.infrastructure.reportmailingjob.domain.ReportMailingJobRunHistory;
+import 
org.apache.fineract.infrastructure.reportmailingjob.domain.ReportMailingJobRunHistoryRepository;
+import 
org.apache.fineract.infrastructure.reportmailingjob.util.ReportMailingJobDateUtil;
+import 
org.apache.fineract.infrastructure.reportmailingjob.validation.ReportMailingJobValidator;
+import 
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
+import org.apache.fineract.portfolio.calendar.service.CalendarUtils;
+import org.apache.fineract.useradministration.domain.AppUser;
+import org.joda.time.DateTime;
+import org.joda.time.LocalDate;
+import org.joda.time.format.DateTimeFormat;
+import org.joda.time.format.DateTimeFormatter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import 

[jira] [Commented] (FINERACT-65) Implement ability to schedule & e-mail reports

2016-08-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/FINERACT-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15405489#comment-15405489
 ] 

ASF GitHub Bot commented on FINERACT-65:


Github user nazeer1100126 commented on a diff in the pull request:

https://github.com/apache/incubator-fineract/pull/191#discussion_r73291621
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/commands/service/CommandWrapperBuilder.java
 ---
@@ -2736,4 +2736,27 @@ public CommandWrapperBuilder 
deleteSelfServiceBeneficiaryTPT(final Long benefici
 return this;
}
 
-}
\ No newline at end of file
+   public CommandWrapperBuilder createReportMailingJob(final String 
entityName) {
+this.actionName = "CREATE";
+this.entityName = entityName;
+this.entityId = null;
+this.href = "/reportmailingjobs";
+return this;
+}
+
+public CommandWrapperBuilder updateReportMailingJob(final String 
entityName, final Long entityId) {
--- End diff --

Caller is passing permission name and entity id. But you are assigning 
permission name to entity name


> Implement ability to schedule & e-mail reports
> --
>
> Key: FINERACT-65
> URL: https://issues.apache.org/jira/browse/FINERACT-65
> Project: Apache Fineract
>  Issue Type: New Feature
>Reporter: Emmanuel Nnaa
>Assignee: Markus Geiss
>Priority: Minor
>
> Some reports take a bit longer to run, therefore we should be able to allow 
> our users to schedule them overnight to be e-mailed. 
> The way this should work is:
> - Add e-mailaddress to users and make it mandatory (possibly already in 
> MifosX)
> - Allow users to configure schedule entries which consist of:
> - One or multiple target users (e-mailaddresses)
> - Set the preferred subject and content of the e-mail (Look at user generated 
> documents API in MifosX for replacing certain variables)
> - Choose the run frequency of the report (daily, weekly, every x'th day of 
> the month etc, cron-like flexibility with a UI)
> - Pick the preferred output format (PDF/XLS/CSV)
> These reports should be picked up by a scheduled job overnight and then run 
> in serial to avoid performance hits and sent out to the users.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (FINERACT-65) Implement ability to schedule & e-mail reports

2016-08-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/FINERACT-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15405452#comment-15405452
 ] 

ASF GitHub Bot commented on FINERACT-65:


Github user nazeer1100126 commented on a diff in the pull request:

https://github.com/apache/incubator-fineract/pull/191#discussion_r73289816
  
--- Diff: 
fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadReportingService.java
 ---
@@ -44,4 +47,7 @@
 ReportData retrieveReport(final Long id);
 
 Collection getAllowedReportTypes();
+
+ByteArrayOutputStream generatePentahoReportAsOutputStream(String 
reportName, String outputTypeParam,
--- End diff --

I don't see any reference to this method. Is it required as implementation 
returns just null


> Implement ability to schedule & e-mail reports
> --
>
> Key: FINERACT-65
> URL: https://issues.apache.org/jira/browse/FINERACT-65
> Project: Apache Fineract
>  Issue Type: New Feature
>Reporter: Emmanuel Nnaa
>Assignee: Markus Geiss
>Priority: Minor
>
> Some reports take a bit longer to run, therefore we should be able to allow 
> our users to schedule them overnight to be e-mailed. 
> The way this should work is:
> - Add e-mailaddress to users and make it mandatory (possibly already in 
> MifosX)
> - Allow users to configure schedule entries which consist of:
> - One or multiple target users (e-mailaddresses)
> - Set the preferred subject and content of the e-mail (Look at user generated 
> documents API in MifosX for replacing certain variables)
> - Choose the run frequency of the report (daily, weekly, every x'th day of 
> the month etc, cron-like flexibility with a UI)
> - Pick the preferred output format (PDF/XLS/CSV)
> These reports should be picked up by a scheduled job overnight and then run 
> in serial to avoid performance hits and sent out to the users.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)