<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Fri Feb 09 00:24:02 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[UXPROD-2445] Refactoring of Fees/Fines Actions</title>
                <link>https://folio-org.atlassian.net/browse/UXPROD-2445</link>
                <project id="10000" key="UXPROD">UX Product</project>
                    <description>&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/wiki/pages/viewpage.action?pageId=1776416&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;Design Document on Wiki&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Vega team has identified major refactoring of functionality related to fees/fines. During the past few months they&apos;ve discovered multiple issues, some of which are posing significant risks but can&apos;t be addressed without design changes.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Calculations on FE&lt;/b&gt;&lt;br/&gt;
Initially fee/fine actions were implemented in such a way that all calculations are happening on FE while BE acts as a simple CRUD service for storing results of these calculations. Not only is this approach an anti-pattern, it is also not safe and, considering we&apos;re talking about financial data, poses a significant risk. Anyone who can use Postman or Fiddler can write anything he or she wants to the DB (provided they have access to the platform). We were following this pattern for some time, but now it feels like we&apos;re just creating more technical debt because all of this will need to be refactored.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Bugs&lt;/b&gt;&lt;br/&gt;
While working on 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;UIU-1139&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/UIU-1139&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Refund fees/fines:  Enter refund&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10309?size=medium&quot; /&gt;
            UIU-1139
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
 Max has found a bug (
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;UIU-1626&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/UIU-1626&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Incorrect calculation of financial data.&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium&quot; /&gt;
            UIU-1626
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
) on the fee/fine details page that allows, among other things, to overpay a fine by any amount. It is a bug in the UI architecture that leads to account data not being updated on the screen after PUT request to the server. Account state will remain the same as it was when the user has loaded the page. No matter what actions you&apos;ll do, the system will allow you. But when you reload the page you&apos;ll see that the client was charged hundreds of dollars instead of ten. This bug is not easy to fix and, again, it feels like by fixing it we&apos;re just investing in a bad design.  &lt;em&gt;(Note: This is a regression--it did not occur in Edelweiss.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Double vs. BigDecimal&lt;/b&gt;&lt;br/&gt;
In February Vega created a technical debt ticket 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;MODFEE-29&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/MODFEE-29&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Fields representing money should be BigDecimal&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium&quot; /&gt;
            MODFEE-29
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
. Java type &quot;double&quot; is being used for monetary values, which is dangerous because it might potentially lead to wrong calculation results. This issue can be fixed independently, but if we&apos;re going to start major refactoring of Fees/fines it should also be part of it.&lt;/p&gt;</description>
                <environment></environment>
        <key id="11541">UXPROD-2445</key>
            <summary>Refactoring of Fees/Fines Actions</summary>
                <type id="10002" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10322?size=medium">New Feature</type>
                            <parent id="13654">UXPROD-792</parent>
                                    <priority id="10000" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p1.svg">P1</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="557058:a957226f-df85-4fc8-97f4-8b27a26029ed">Holly Mistlebauer</assignee>
                                                                <reporter accountid="557058:a957226f-df85-4fc8-97f4-8b27a26029ed">Holly Mistlebauer</reporter>
                                    <labels>
                            <label>feesfines</label>
                            <label>mandatory</label>
                            <label>resourceaccess</label>
                    </labels>
                <created>Fri, 29 May 2020 23:06:34 +0000</created>
                <updated>Tue, 31 Aug 2021 15:15:45 +0000</updated>
                            <resolved>Wed, 14 Oct 2020 15:11:25 +0000</resolved>
                                                    <fixVersion>Q3 2020</fixVersion>
                                    <component>Fees/Fines</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                <comments>
                                                            <comment id="14493" author="5af5ed55244bc90a106063c7" created="Fri, 26 Jun 2020 12:45:19 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Aad89644f-caaa-466a-8bf5-cdcd4358fa9a&quot; class=&quot;user-hover&quot; rel=&quot;557058:ad89644f-caaa-466a-8bf5-cdcd4358fa9a&quot; data-account-id=&quot;557058:ad89644f-caaa-466a-8bf5-cdcd4358fa9a&quot; accountid=&quot;557058:ad89644f-caaa-466a-8bf5-cdcd4358fa9a&quot; rel=&quot;noreferrer&quot;&gt;Darcy Branchini&lt;/a&gt; can you please get estimates for this feature so we can do the cap planning?&lt;/p&gt;</comment>
                                                            <comment id="14496" author="557058:ad89644f-caaa-466a-8bf5-cdcd4358fa9a" created="Thu, 30 Jul 2020 15:30:32 +0000"  >&lt;p&gt;Groomed on 7/28, &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5a1829b0a3481b031fe61aab&quot; class=&quot;user-hover&quot; rel=&quot;5a1829b0a3481b031fe61aab&quot; data-account-id=&quot;5a1829b0a3481b031fe61aab&quot; accountid=&quot;5a1829b0a3481b031fe61aab&quot; rel=&quot;noreferrer&quot;&gt;Maxim Didenko&lt;/a&gt; will add FE stories, then it should be ready for development.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="10193">UXPROD-106</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="11665">UXPROD-2717</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45239">UIU-1139</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10008">
                    <name>Defines</name>
                                                                <inwardlinks description="is defined by ">
                                        <issuelink>
            <issuekey id="69181">MODFEE-56</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69192">MODFEE-79</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69193">MODFEE-80</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69194">MODFEE-81</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69210">MODFEE-82</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69211">MODFEE-83</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69212">MODFEE-84</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69213">MODFEE-85</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69214">MODFEE-86</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69289">MODFEE-104</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69291">MODFEE-105</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69292">MODFEE-106</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69293">MODFEE-107</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69294">MODFEE-108</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69295">MODFEE-109</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69296">MODFEE-110</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69297">MODFEE-111</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69298">MODFEE-112</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69299">MODFEE-113</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="69369">MODFEE-126</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45611">UIU-1793</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45614">UIU-1794</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45617">UIU-1795</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45619">UIU-1796</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45623">UIU-1797</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45626">UIU-1798</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45629">UIU-1799</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45693">UIU-1836</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="45700">UIU-1850</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10053" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Back End Estimate</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10124"><![CDATA[XXL < 30 days]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10054" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                        <customfieldname>Back End Estimator</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>712020:12031ab4-cff4-4571-b23b-43dcfc15a6ac</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10187"><![CDATA[Vega]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10014" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue key="$xmlutils.escape($text)">Fees/Fines</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10050" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Front End Estimate</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10099"><![CDATA[XL < 15 days]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10051" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                        <customfieldname>Front End Estimator</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5a1829b0a3481b031fe61aab</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Front-End Confidence factor</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10106"><![CDATA[Medium]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>98.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i017tn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10071" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Rank: 5Colleges (Full Jul 2021)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10224"><![CDATA[R2]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10085" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Rank: MO State (MVP June 2020)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10294"><![CDATA[R1]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 26 Jun 2020 12:45:19 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>