Hi all,

While working on two fixes for force withdrawals on savings accounts (
FINERACT-2797 <https://issues.apache.org/jira/browse/FINERACT-2797>, PR
#6631 <https://github.com/apache/fineract/pull/6631>, and FINERACT-2929
<https://issues.apache.org/jira/browse/FINERACT-2929>, pending PR), I
noticed something in the configuration that I would like your opinion on
before writing any code.

Force withdrawals (FINERACT-2471
<https://issues.apache.org/jira/browse/FINERACT-2471>, released in 1.15.0)
are controlled by two global configurations:

  - allow-force-withdrawal-on-savings-account
  - force-withdrawal-on-savings-account-limit

Only one attribute of each is read by the code: the "enabled" flag of the
first and the "value" of the
second. The other two attributes are unused, so the same setting is spread
across two rows.

I propose keeping only allow-force-withdrawal-on-savings-account, using
"enabled" to switch the feature on and "value" for the maximum negative
balance, and removing the limit configuration. A Liquibase migration would
copy the existing limit into the remaining row and delete the other one, so
installations that are already configured would keep the same behaviour.

Because the feature has already been released, this changes a published
configuration name, so I would like to ask:

  1. Should the old configuration be removed in 1.16.0, or deprecated for a
release first?
  2. What should enabled=true with value=0 mean? Today it allows no
negative balance.
  3. Does anyone rely on the current configuration names?
  4. Would there be interest in a way to enable force withdrawals with no
limit at all? I would treat it
     as a separate change. "0" cannot mean unlimited, because today it
means "no negative balance" and it is the default, and a negative value is
already accepted as a limit, so an explicit representation would be needed.

I would keep the merge itself behaviour-preserving, and handle any "no
limit" option afterwards, since it is a different kind of decision.

Details are in FINERACT-2934
<https://issues.apache.org/jira/browse/FINERACT-2934>. I am happy to
implement it in a separate pull request, after the two fixes above, if
there is agreement.

Thanks,
Josue Araujo
Enviado desde mi PC con GNU/Linux

Reply via email to