<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Fri Feb 09 00:36:01 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-3940] MARC21 record validation support - Phase 1</title>
                <link>https://folio-org.atlassian.net/browse/UXPROD-3940</link>
                <project id="10000" key="UXPROD">UX Product</project>
                    <description>&lt;p&gt;&lt;b&gt;Goal:&lt;/b&gt; When a user creates/updates a record then more robust MARC validation should happen. Feature intent is to define default validation rules and allow the library (tenant level setting) to set custom rules. &quot;Q&quot; release focus will be on defining technical design approach.&lt;/p&gt;

&lt;p&gt;To be considered:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The tech design should not be MARC centric meaning that it should be flexible enough to assign a set of validation rules per record type + format.&#160;&lt;/li&gt;
	&lt;li&gt;The tech design should also allow for any flow that creates/updates MARC to opt-in to using these validation rules&#160;&lt;/li&gt;
	&lt;li&gt;This feature will however focus on MARC. Additional features must be created to support other formats.&#160;&lt;/li&gt;
	&lt;li&gt;Technical design will focus on MARC bibliographic and MARC authority records.&#160;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Requirements/Scope:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Implement standard MARC21 validation rules
	&lt;ul&gt;
		&lt;li&gt;Repeatability&#160;&lt;/li&gt;
		&lt;li&gt;Valid values (fields, indicators, subfields)&lt;/li&gt;
		&lt;li&gt;Mandatory/optional&lt;/li&gt;
		&lt;li&gt;See Bibliographic rules 
    &lt;span class=&quot;jira-issue-macro&quot; data-jira-key=&quot;MODQM-390&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/MODQM-390&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;MARC\validation\BIB Rec\Indicators&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;
            MODQM-390
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf&quot;&gt;Draft&lt;/span&gt;
            &lt;/span&gt;
 and 
    &lt;span class=&quot;jira-issue-macro&quot; data-jira-key=&quot;MODQM-392&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/MODQM-392&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;MARC Validation\BIB Rec.\Repeatable and Non-repeatable field and subfields&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;
            MODQM-392
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf&quot;&gt;Draft&lt;/span&gt;
            &lt;/span&gt;
&lt;/li&gt;
		&lt;li&gt;See Authority rules UXPROD-4361&#160; and 
    &lt;span class=&quot;jira-issue-macro&quot; data-jira-key=&quot;MODQM-393&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/MODQM-393&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;MARC Validation\Auth Rec.\Repeatable and Non-repeatable field and subfields&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;
            MODQM-393
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-complete jira-macro-single-issue-export-pdf&quot;&gt;Draft&lt;/span&gt;
            &lt;/span&gt;
&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Ability to revise default validation rules at tenant level and global level&#160;&lt;/li&gt;
	&lt;li&gt;Ability to add new, local rules
	&lt;ul&gt;
		&lt;li&gt;Repeatability&lt;/li&gt;
		&lt;li&gt;Valid values (fields, indicators, subfields)&lt;/li&gt;
		&lt;li&gt;Mandatory/optional&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Ability to bypass validation:
	&lt;ul&gt;
		&lt;li&gt;Default (MARC21)&lt;/li&gt;
		&lt;li&gt;ISBN/ISSN Validation&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Ability to set whether validation rules should be a warning (warn, but permit save) OR error that prevents user from saving record&lt;/li&gt;
	&lt;li&gt;Ability to report catalog errors&lt;/li&gt;
	&lt;li&gt;Need to consider migration workflows where these rules can be ignored/bypassed. Same for data import workflows.&#160;&lt;/li&gt;
	&lt;li&gt;Need to consider when default validation rules change due to change in MARC standards&#160;&lt;/li&gt;
	&lt;li&gt;Consider ECS requirements&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="13450">UXPROD-3940</key>
            <summary>MARC21 record validation support - Phase 1</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="12759">UXPROD-3985</parent>
                                    <priority id="10002" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p3.svg">P3</priority>
                        <status id="10000" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/generic.png" description="(Migrated on 4 Feb 2024 13:41 UTC)">Draft</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                                        <assignee accountid="557058:f5509695-6f86-4fae-b27b-2db53dd26b27">Kalibek Turgumbayev</assignee>
                                                                <reporter accountid="62a96ae7192edb006f9f1bf9">Khalilah Gambrell</reporter>
                                    <labels>
                            <label>LC-priority2</label>
                            <label>SolutionArchitecture</label>
                            <label>cataloging</label>
                            <label>galileo</label>
                            <label>loc</label>
                            <label>metadatamanagement</label>
                    </labels>
                <created>Thu, 29 Dec 2022 21:19:42 +0000</created>
                <updated>Tue, 6 Feb 2024 20:49:06 +0000</updated>
                                                            <fixVersion>Quesnelia (R1 2024)</fixVersion>
                                        <due></due>
                            <votes>1</votes>
                                    <watches>11</watches>
                                                                <comments>
                                                            <comment id="18413" author="712020:23ea2097-de9f-4b44-a3cb-ff3854f05be5" created="Thu, 13 Jul 2023 17:52:49 +0000"  >&lt;p&gt;Hi friends. Besides MARC21 (BIB/AUT/HOL) fields/indicators/subfields valid codes (according to &lt;a href=&quot;https://www.loc.gov/marc/marcdocz.html),&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://www.loc.gov/marc/marcdocz.html),&lt;/a&gt; validation could include (a) mandatory fields control and (b) dependency between fields control, for example:&lt;/p&gt;

&lt;p&gt;A) MANDATORY FIELDS:&lt;/p&gt;

&lt;p&gt;040## MUST be present&lt;br/&gt;
245## MUST be present&lt;br/&gt;
902## MUST be present (local MARC field adopted by the library to every record)&lt;/p&gt;

&lt;p&gt;B) DEPENDENCY BETWEEN FIELDS:&lt;/p&gt;

&lt;p&gt;IF 245 0# is present, 1## ## CANNOT be present&lt;br/&gt;
IF 245 1# is present, 1## ## MUST be present&lt;br/&gt;
IF 593 ## is present, 013 ## MUST be present&lt;/p&gt;

&lt;p&gt;And, at the suggestion of a librarian using the FOLIO: the MARC validation setup on the FOLIO could adopt a &quot;visual&quot; rules editor similar to the one adopted for Circulation Rules: &lt;a href=&quot;https://github.com/folio-org/mod-circulation/blob/master/doc/circulationrules.md&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/folio-org/mod-circulation/blob/master/doc/circulationrules.md&lt;/a&gt; thus allowing adjustments to be flexible and easy to implement by the librarian (and not through hardcoded rules), or maybe by a dedicated visual editor inside Settings App (like Calendars, for example).&lt;/p&gt;</comment>
                                                            <comment id="18414" author="62a96ae7192edb006f9f1bf9" created="Mon, 14 Aug 2023 18:28:12 +0000"  >&lt;ul&gt;
	&lt;li&gt;only allow certain unicodes (no emojis) &#8211; possibly &amp;gt;&amp;gt;&amp;gt; whitelist support&lt;/li&gt;
	&lt;li&gt;Initial bibliographic control based on 9XX&#160;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                                                            <comment id="18415" author="70121:26da6b78-0d8a-4d47-b80e-9541f5e4cea5" created="Fri, 3 Nov 2023 11:16:50 +0000"  >&lt;p&gt;as per the Q Release Planning session, we agreed on the following:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;in Q release &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Af5509695-6f86-4fae-b27b-2db53dd26b27&quot; class=&quot;user-hover&quot; rel=&quot;557058:f5509695-6f86-4fae-b27b-2db53dd26b27&quot; data-account-id=&quot;557058:f5509695-6f86-4fae-b27b-2db53dd26b27&quot; accountid=&quot;557058:f5509695-6f86-4fae-b27b-2db53dd26b27&quot; rel=&quot;noreferrer&quot;&gt;Kalibek Turgumbayev&lt;/a&gt; will work on the approach&lt;/li&gt;
	&lt;li&gt;the implementation part will be considered in the R Release&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Estimation provided:&lt;br/&gt;
Back-End: M (5 days) for review (assumed that review from back-end will not be needed in Q release) &lt;br/&gt;
Front-End: XL (15 days) for the implementation part in Ramsons release&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="64166">UIQM-600</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="12931">UXPROD-4575</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="12832">UXPROD-4388</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="12866">UXPROD-4402</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="12867">UXPROD-4403</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64576">UIQM-469</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64126">UIQM-398</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68957">MODQM-388</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="13612">UXPROD-4375</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10001">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="12966">UXPROD-4549</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="64165">UIQM-599</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64447">UIQM-382</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64231">UIQM-123</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68953">MODQM-378</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68954">MODQM-394</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64138">UIQM-495</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68886">MODQM-398</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68891">MODQM-399</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68894">MODQM-400</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68897">MODQM-401</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="68873">MODQM-256</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="12837">UXPROD-4286</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64567">UIQM-526</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64342">UIQM-103</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64169">UIQM-131</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="34842">MODELINKS-131</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68878">MODQM-235</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68882">MODQM-328</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="68955">MODQM-380</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64132">UIQM-461</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10007">
                    <name>Requires</name>
                                            <outwardlinks description="requires">
                                        <issuelink>
            <issuekey id="64472">UIQM-601</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64145">UIQM-612</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64476">UIQM-613</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64475">UIQM-614</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64478">UIQM-615</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64477">UIQM-616</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64480">UIQM-617</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64479">UIQM-618</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64143">UIQM-610</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="64144">UIQM-611</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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="10121"><![CDATA[Medium < 5 days]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Back-End Confidence factor</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10135"><![CDATA[80%]]></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="10180"><![CDATA[Spitfire]]></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)">quickMARC: MARC Validation</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_10052" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Front-End Confidence factor</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10117"><![CDATA[100%]]></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_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i07dew:i</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>Thu, 13 Jul 2023 17:52:49 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                </customfields>
    </item>
</channel>
</rss>