Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

Mifos Configuration Project Stories

Project Velocity

csv-table:::header: "Iteration","Week Ending","Velocity","Total Points","Remaining Points","Avg. Velocity"
:widths: 10, 10, 10, 12, 15, 15

1,06/15/07,0,0,73.5,0 2,06/29/07,0,0,73.5,0 3,07/13/07,15,15,58.5,5 4,07/27/07,7,22,51.5,5.5 5,08/12/07,10,32,41.5,6.4 6,08/26/07,0,32,41.5,5.33 7,09/09/07,8,40,33.5,5.71 8,09/23/07,7,47,26.5,5.88 9,10/07/07,4,51,22.5,5.67 10,10/21/07,4,55,18.5,5.5

This project is now using a 2 week iteration schedule. We track the number of story points completed per iteration (velocity), cumulative (total) points, and average number of points completed per iteration (average velocity).

Lookup Values (Customizable Value Lists) UI

Description

Implement UI according to mockup.

Estimate

Estimate 2: 12 points + 3 points for updated UIEstimate 1: 12 points

Actual

20 days

Tests

  • list values from database display correctly on page load
  • label values from database display correctly on page load
  • edited list value is updated in database
  • added list value is added to database

Developer Notes

  • Lookup Value Issues
  • To Do _ add support for creating and updating lookup value classes _ define CustomValueListsActionTest _ define CustomValueListsActionForm _ define CustomValueListsAction _ define CustomValueLists.jsp _ set up permissions
  • web page count: 1
  • Related code: * LabelConfigurationAction, LabelConfigurationActionForm, LabelConfigurationActionTest,
    /mifos/src/org/mifos/doc-root/application/configuration/jsp/definelabels.jsp have similar simple page flow.
  • loan product creation has similar list box controls
    (/mifos/src/org/mifos/doc-root/application/productdefinition/jsp/CreateLoanProduct.jsp)

Custom Fields UI (View Fields)

Description

Implement UI according to mockup and specs to allow the viewing of existing custom fields.

Estimate

7 points

Actual

15 days

Developer Notes

  • web page count: 2
  • related classes: _ CustomFieldDefinitionEntity, CustomFieldType, CustomFieldView _ AccountCustomFieldEntity(used for AccountBO, LoanBO, SavingsBO) * CustomerCustomFieldEntity (used for CenterBO, ClientBO, GroupBO)

Custom Fields UI (Add/Edit Fields)

Description

Implement UI according to mockup and specs to allow adding and editing fields

Estimate

8 points

Tests

Developer Notes

  • web page count: 2
  • related classes: _ CustomFieldDefinitionEntity, CustomFieldType, CustomFieldView _ AccountCustomFieldEntity(used for AccountBO, LoanBO, SavingsBO) * CustomerCustomFieldEntity (used for CenterBO, ClientBO, GroupBO)

Accepted Payment Types UI

Description

Implement UI according to mockup.

Estimate

Estimate 3: 10 points (+3 to account for implementing additional backend functionality)Estimate 2: 7 pointsEstimate 1: 5 points

Tests

Developer Notes

  • PaymentTypeEntity -> PaymentTypes enum conversion

Move General Ledger code definitions to a separate config file

Description

Move general ledger code definitions to an external file using a format that makes the structure clear.

Estimate

5 points

Tests

Developer Notes

  • Implementation Candidate * XML for config file\
    <ChartOfAccounts>
       <GeneralLedgerAccount code="10000" name="ASSETS">
          <GeneralLedgerAccount code="11000" name="Cash and Bank Balances">
             <GeneralLedgerAccount code="11100" name="Petty Cash Accounts"/>
          </GeneralLedgerAccount>
       </GeneralLedgerAccount>
       <GeneralLedgerAccount code="20000" name="LIABILITIES">
          <GeneralLedgerAccount code="22000" name="Interest Payable"/>
       </GeneralLedgerAccount>
    </ChartOfAccounts>
    
  • Apache Commons Configuration for reading the config file _ FinancialRules.java has hardcoded dependencies on the current chart of accounts _ the getCategoryAssociatedToAction implements a mapping from Financial action (FinancialActionConstants, financial_action table) and credit/debit to GL Account. * we need to include this mapping if a custom chart of accounts will be defined
    <FinancialActionToGLAccountMapping>
       <Debits>
          <FinancialActionMapping>
             <FinancialAction>InterestPosting</FinancialAction>
             <GLAccount>BankAccountOne</GLAccount>
          </FinancialActionMapping>
       </Debits>
       <Credits>
          <FinancialActionMapping>
             <FinancialAction>InterestPosting</FinancialAction>
             <GLAccount>InterestIncomeLoans</GLAccount>
          </FinancialActionMapping>
       </Credits>
    </FinancialActionToGLAccountMapping>
    OR
    <FinancialActionToGLAccountMapping>
       <Debits>
          <FinancialActionMapping action="InterestPosting" glAccount="BankAccountOne"/>
          <FinancialActionMapping action="FeePosting" glCode="11000"/>
       </Debits>
       <Credits>
          <FinancialActionMapping action="InterestPosting" glAccount="InterestIncomeLoans"/>
          <FinancialActionMapping action="FeePosting" glCode="21000"/>
       </Credits>
    </FinancialActionToGLAccountMapping>
    
  • TODO _ settle on XML file format _ consider issues of updates to default data, and adding new codes _ implement XML dump of general ledger data _ implement tests for load, dump roundtrip * implement XML load

Initial Investigation of Work Required for Localization

Description

Begin looking at what modifications will need to be made Mifos in order to fully support localization.

Estimate

2 points

Move Accounting Rules to a separate config file

Description

  • Accounting rules are:
  • Number of digits after decimal and whether to round up or round down will be specified for each currency in the database.
  • Amount to be rounded to. Default- 0.01
  • Rounding rule- The rounding rules supported by the system will be "Round up" and "Round- down". Default- Round up.
  • Number of interest days in a year- Can be 360 or 365. This is used only for interest calculation and should not be modified once set. _ Note: This is not applicable for meetings, as meeting calendar always has 365 days in a year. _ Also, this is not applicable for fees and penalties calculation and repayment schedule generation.

Estimate

5 points

Tests

Developer Notes

  • To Do
  • create AccountingRules config object?
  • do we need a MifosCurrency class? Why not use the java Currency class + rules?
  • noOfInterestDays defined in ConfigEntity.hbm.xml for ConfigEntity. noOfInterestDays appears to be defined per office, but there is only a single office defined in the SYSTEM_CONFIGURATION table. The only values allowed are 360 or 365. There doesn't seem to be a check to enforce this right now.

Move Localization data to a separate config file

Description

Provide the following 3 properties to determine the default localization for a given installation of Mifos:

These will be defined in the standard "default" configuration file and can be overridden in the "custom" configuration file. Country and Language will together specify the Locale. Date format will be implied by the Locale.

Estimate

4 points

Tests

Developer Notes

  • country * eliminate CountryEntity and use ISO 3166 codes instead
  • currency * consider adding an ISO_4217_CODE to MifosCurrency (or change the usage of the currency name to be the currency code?)
  • time zone??? does anything need to be done with this or is it just taken from the System?
  • language * can we eliminate LanguageEntity and use ISO 639 codes instead?
  • date format ???
  • org.mifos.framework.components.configuration.business.Configuration is currently the main repository for configuration data.

Move Fiscal Year (Calendar?) Configuration data to a separate config file

Description -----------

  • data consists of: _ Start of week: Monday _ Default working days: 5 _ Working days: Monday Tuesday, Wednesday _ Meeting in case of a holiday - ??? Specifies when a meeting will take place if a holiday falls on the meeting day. * Allow calendar definition for next year - ??? The number of days after which the calendar definition for the next year can be specified.

Estimate

4 points

Tests

Developer Notes

  • To Do _ create a FiscalCalendarRules object _ move config from WeekDaysEntity to new object for use with WeekDay enum * add localized text retrieval for WeekDay and eliminate WeekDaysEntity

Client Rules

Description

  • Whether "Center" hierarchy is present in the system. By default- center hierarchy should exist.
  • Whether Groups are allowed to apply for loans- If this value is set to NO, groups will not be allowed to open loan accounts. Once the value is set to Yes, it should not be changed to NO as there could be group loans existing in the system. By default- group loans should be allowed.
  • Whether Clients can exist outside group. By default, this should be set to yes. Once the value is set to YES, it cannot be changed to NO, as there could be clients outside a group existing in the system.

Estimate

3 points

Tests

Developer Notes

  • To Do
  • some info defined by CustomerConfig

Process Flow/Optional States

Description

Clients and accounts have some optional states, which can be hidden and excluded from the state flows. If omitted, these optional states will not be visible in the UI. Once an optional state is included, it should not be removed as some records could be in that state.

  • The optional states are: _ Pending Approval (Clients) _ Pending Approval (Groups) _ Pending Approval (Loan accounts) _ Disbursed to Loan Officer (Loan accounts) * Pending Approval (Savings Accounts)

Estimate

3 points

Tests

Developer Notes

  • To Do
  • AccountConfig has isPendingApprovalStateDefinedForLoan and related metzods
  • CustomerConfig has isPendingApprovalStateDefinedForClient and related methods
  • Config data seems spread out in various places and it takes some effort to find where a give value is stored-- think about how to consolidate and centralize configuration.

Collection Sheet Data configuration

Description

Move collection sheet configuration data to an external configuration file.

Estimate

.5 points

Tests

Developer Notes

Misc Config

Description

Move the following configuration items to an external configuration file:

  • Sequence of Names
  • Session time out rule
  • Allow back dated payments

Estimate

1.5 points

Tests

Developer Notes

  • confirmed office hierarchy is handled separately

Lateness/Dormancy

Description

Move the following configuration items to an external configuration file:

  • Specify the number of days of non-payment after which status of loan account is changed to "Active in bad standing" by the system. Default- 30 days. This field should not be left blank.

Estimate

2.5 points

Tests

Developer Notes

  • verify that this is the only item included
  • is this the same or different from "grace period for penalty" on the loan definition web page-- answer: it is supposed to be different
  • LoanPrdPersistence.retrieveLatenessForPrd() * mifos/src/org/mifos/application/productdefinition/business/ProductTypeEntity.hbm.xml defines latenessDays and query productdefinition.GetLatenessDaysForLoans that is used to get the value
  • ProductTypeEntity is where this data lives and it is set in latest-data.sql in table PRD_TYPE
  • ProductType is the enum replacement for ProductTypeEntity

View Organizational Settings UI

Description

Implement UI according to mockup.

Estimate

3 points

Tests

Developer Notes

  • No labels