<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 22:30:37 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>[MODBULKED-24] Bulk delete users</title>
                <link>https://folio-org.atlassian.net/browse/MODBULKED-24</link>
                <project id="10262" key="MODBULKED">mod-bulkedit</project>
                    <description>&lt;p&gt;&lt;b&gt;Purpose/Overview:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Delete users and corresponding data based on provided list of users.&#160; The record deletion should honor existing business rules that prevent deletion of the user with open transactions.&#160;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font color=&quot;#FF8B00&quot;&gt;Assumption: dependencies are implemented on the backend and can be used by bulk edit.&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Requirements/Scope:&lt;/b&gt;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;User records and depending data (loans, requests, fees/fines, proxies, manual blocks)&#160;&lt;/li&gt;
	&lt;li&gt;Users with open loans open requests, unpaid fees/fines, unexpired proxies and manual blocks are not deleted and those records are reported in the logs.  T&lt;/li&gt;
	&lt;li&gt;The log contains record identifier, first and last names and the reason why the record could not be removed:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
	&lt;li&gt;If the deletion was triggered by submitting user barcodes the logs identifies records that could not be deleted by barcode&lt;/li&gt;
	&lt;li&gt;If the deletion was triggered by submitting usernames the logs identifies records that could not be deleted by usernames&lt;/li&gt;
	&lt;li&gt;If the deletion was triggered by submitting user external Ids the logs identifies records that could not be deleted by external id&lt;/li&gt;
	&lt;li&gt;If the deletion was triggered by submitting UUIDs the logs identifies records that could not be deleted by UUIDs&lt;/li&gt;
	&lt;li&gt;The log contains the reason why the record could not be deleted (open unexpired proxy, open loans, open requests, open blocks)&lt;/li&gt;
	&lt;li&gt;Only users with the &quot;Bulk Edit - Delete - User records&quot; permission are able to delete user records&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;b&gt;Approach:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Acceptance criteria:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;User records without open transactions are deleted&lt;/li&gt;
	&lt;li&gt;User records with open transactions are not deleted&lt;/li&gt;
	&lt;li&gt;Records that cannot be deleted are reported in the error logs&#160;&lt;/li&gt;
	&lt;li&gt;API and unit tests are written&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&lt;b&gt;Additional information:&lt;/b&gt;&lt;br/&gt;
The existing APIs for deleting user records handle dependencies but this will need to be verified &lt;/p&gt;</description>
                <environment></environment>
        <key id="79207">MODBULKED-24</key>
            <summary>Bulk delete users</summary>
                <type id="10005" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10309?size=medium">Story</type>
                                            <priority id="10002" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p3.svg">P3</priority>
                        <status id="10007" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/generic.png" description="Issue is better defined and ready for the development team to review and to estimate issue. Not ready for development to begin implementation. Issue may need to be further refined. The issue is currently being worked on by team (PO and/or dev). (Migrated on 4 Feb 2024 13:41 UTC)">In Refinement</status>
                    <statusCategory id="4" key="indeterminate" colorName="yellow"/>
                                    <resolution id="-1">Unresolved</resolution>
                                                        <assignee accountid="-1">Unassigned</assignee>
                                                                <reporter accountid="557058:8629b273-56f1-466d-b7c7-5cbac0c3379b">Magda Zacharska</reporter>
                                    <labels>
                    </labels>
                <created>Sat, 5 Feb 2022 00:38:34 +0000</created>
                <updated>Thu, 16 Jun 2022 22:21:01 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                    <issuelinks>
                            <issuelinktype id="10008">
                    <name>Defines</name>
                                            <outwardlinks description="defines">
                                        <issuelink>
            <issuekey id="13630">UXPROD-3230</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="11602">UXPROD-2728</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="67595">MODUSERS-229</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <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="10152"><![CDATA[Firebird]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10106" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>RCA Group</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10367"><![CDATA[TBD]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i044s2:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>