<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:29:00 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>[FOLIO-3556] DRAFT: Linking MARC bib fields to MARC authority</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-3556</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;&lt;b&gt;Purpose/Overview:&lt;/b&gt;&lt;br/&gt;
Catalogers want the ability to link a MARC bib field(s) to MARC authority heading(s)/reference(s) because authority records are seen as the source of truth about a person/place/corporation/conference/subject/genre. This linking allows the library user to learn more and feel 100% confident that the information provided is accurate and allows them to search/browse for their research.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Requirements/Scope:&lt;/b&gt;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Module mod-links should be created&lt;/li&gt;
	&lt;li&gt;Requirement&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&lt;b&gt;Approach:- DRAFT&lt;/b&gt;&lt;br/&gt;
The new module should be created for handling links between Instances fields and authorities. The module should contain the following database (postgres) table.&lt;/p&gt;

&lt;p&gt;id&#160; authority_id (btree index) instance_id (btree index) bib_record_tag bib_record_field_id&lt;br/&gt;
For the last column, the $0 sub-field should contain the value which is generated based on Managing Authority source files.&lt;/p&gt;

&lt;p&gt;API&lt;br/&gt;
POST /link - Should create row in the table (see above).&lt;br/&gt;
Messaging&lt;/p&gt;

&lt;p&gt;Listen for inventory.authority domain event. If the message is received the there is such authority in link table then the record in the following table is created: id, authority_data completed, next_record_id&lt;/p&gt;

&lt;p&gt;Then mod-links iterates over all records in links table, that has by batches of 500 and every time update the next_record_id field with the latest id in the batch. And the next batch takes the records from links table, that has id &amp;gt; job_table. next_record_id.&lt;/p&gt;

&lt;p&gt;NextRecordId is also saved in memory. Saving in database is done for ensuring the consistency in case if module fails during the processing of batch. On @PostConstract of the module it should read the job_table and if there is job with completed equals to &quot;false&quot; it should start processing of this job starting from next_record_id. It could cause double processing of the job if another instance is up during the job processing, but it is not a problem, as the process is idempotent.&#160;&lt;/p&gt;

&lt;p&gt;Mod-links send Kafka message to update SRS records to update the corresponding bib records. The similar mechanism in SRS could be leveraged that was implemented for propagation of mod-inventory instance_id to SRS. Mod-links should request SRS for the mapping between authority inventory fields and source authority record fields only once for the batch.&lt;br/&gt;
When SRS updates the record, the change is automatically propagated to mod-inventory-storage and mod-seach (as it is right now).&lt;/p&gt;</description>
                <environment></environment>
        <key id="82429">FOLIO-3556</key>
            <summary>DRAFT: Linking MARC bib fields to MARC authority</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="10005" iconUrl="https://dev.folio.org/assets/jira-priority/tbd.svg">TBD</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="10001">Duplicate</resolution>
                                                        <assignee accountid="-1">Unassigned</assignee>
                                                                <reporter accountid="70121:84bca0b8-4380-4d87-8a90-53e9133584f6">Mikhail Fokanov</reporter>
                                    <labels>
                            <label>back-end</label>
                    </labels>
                <created>Wed, 10 Aug 2022 11:37:11 +0000</created>
                <updated>Thu, 25 Aug 2022 13:51:19 +0000</updated>
                            <resolved>Thu, 25 Aug 2022 13:51:19 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                <comments>
                                                            <comment id="198131" author="5eb44b5a96bbcb0b8585c98d" created="Mon, 22 Aug 2022 07:25:57 +0000"  >&lt;p&gt;This is a placeholder for all linking feature stories.&lt;/p&gt;</comment>
                    </comments>
                    <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="10180"><![CDATA[Spitfire]]></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|hzx236:i20092c32709ai3120009000000001jo</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>Mon, 22 Aug 2022 07:25:57 +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>