<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:20:41 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-2445] SPIKE: Preceding/succeeding titles data model</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-2445</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;Goal is to explore alternate data models so we can compare &lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Define and estimate new data model for preceding/succeeding titles which will support both connected and unconnected titles, without the use of instance relationships&lt;/li&gt;
	&lt;li&gt;Define and estimate effort for just building off the existing model&lt;/li&gt;
&lt;/ul&gt;

</description>
                <environment></environment>
        <key id="81583">FOLIO-2445</key>
            <summary>SPIKE: Preceding/succeeding titles data model</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="10001" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p2.svg">P2</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="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9">Svitlana Zmiivska</assignee>
                                                                <reporter accountid="5af5ed55244bc90a106063c7">Cate Boerema</reporter>
                                    <labels>
                            <label>back-end</label>
                    </labels>
                <created>Tue, 4 Feb 2020 16:58:20 +0000</created>
                <updated>Wed, 3 Jun 2020 16:40:24 +0000</updated>
                            <resolved>Mon, 24 Feb 2020 09:40:08 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                <comments>
                                                            <comment id="194713" author="63e2a2771b13d42998e4e706" created="Wed, 5 Feb 2020 12:30:22 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5af5ed55244bc90a106063c7&quot; class=&quot;user-hover&quot; rel=&quot;5af5ed55244bc90a106063c7&quot; data-account-id=&quot;5af5ed55244bc90a106063c7&quot; accountid=&quot;5af5ed55244bc90a106063c7&quot; rel=&quot;noreferrer&quot;&gt;Cate Boerema&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Define and estimate effort for just building off the existing model&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Is this the hybrid approach where we have two separate models for connected and unconnected, or where we weaken instance relationships so that only the parent or the child is required (which, as discussed, would make it easier for relationships to be broken / misdefined accidentally)?&lt;/p&gt;</comment>
                                                            <comment id="194716" author="5af5ed55244bc90a106063c7" created="Wed, 5 Feb 2020 12:48:49 +0000"  >&lt;p&gt;I was thinking hybrid, but do you think it would make sense to actually compare all three options, outlining the pros and cons of each (including estimated size)?&lt;/p&gt;</comment>
                                                            <comment id="194719" author="63e2a2771b13d42998e4e706" created="Wed, 5 Feb 2020 13:08:00 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5af5ed55244bc90a106063c7&quot; class=&quot;user-hover&quot; rel=&quot;5af5ed55244bc90a106063c7&quot; data-account-id=&quot;5af5ed55244bc90a106063c7&quot; accountid=&quot;5af5ed55244bc90a106063c7&quot; rel=&quot;noreferrer&quot;&gt;Cate Boerema&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I was thinking hybrid, but do you think it would make sense to actually compare all three options, outlining the pros and cons of each (including estimated size)?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I mostly wanted to clarify what you meant. I think we could explore all three options. I think we mostly need to decide which trade offs of those two options we are willing to take. I&apos;ll try to write something up here and we can go from there.&lt;/p&gt;</comment>
                                                            <comment id="194722" author="5af5ed55244bc90a106063c7" created="Wed, 5 Feb 2020 13:16:04 +0000"  >&lt;p&gt;Thank you &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63e2a2771b13d42998e4e706&quot; class=&quot;user-hover&quot; rel=&quot;63e2a2771b13d42998e4e706&quot; data-account-id=&quot;63e2a2771b13d42998e4e706&quot; accountid=&quot;63e2a2771b13d42998e4e706&quot; rel=&quot;noreferrer&quot;&gt;Marc Johnson&lt;/a&gt;!&lt;/p&gt;</comment>
                                                            <comment id="194725" author="63e2a2771b13d42998e4e706" created="Thu, 6 Feb 2020 14:56:04 +0000"  >&lt;h2&gt;&lt;a name=&quot;Options&quot;&gt;&lt;/a&gt;Options&lt;/h2&gt;

&lt;h3&gt;&lt;a name=&quot;InstanceRelationshipsforConnectedandUnconnected&quot;&gt;&lt;/a&gt;Instance Relationships for Connected and Unconnected&lt;/h3&gt;

&lt;h5&gt;&lt;a name=&quot;Approach&quot;&gt;&lt;/a&gt;Approach&lt;/h5&gt;

&lt;p&gt;Make both parent and child instance optional for relationships and introduce new fields for the unconnected properties for either parent or child.&lt;/p&gt;

&lt;h5&gt;&lt;a name=&quot;Characteristics&quot;&gt;&lt;/a&gt;Characteristics&lt;/h5&gt;

&lt;ul&gt;
	&lt;li&gt;Single place for finding all preceding and succeeding titles&lt;/li&gt;
	&lt;li&gt;Still uses instance relationships (meaning we still need to discriminate them in the UI)&lt;/li&gt;
	&lt;li&gt;Both parent and child instance IDs will have to optional (making it easier for invalid records to be created)&lt;/li&gt;
	&lt;li&gt;Additional fields will be needed for unconnected titles, that won&apos;t be relevant to any other relationships (making it easier for invalid records to be created)&lt;/li&gt;
	&lt;li&gt;Likely the least amount of initial work&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;&lt;a name=&quot;TwoModelsforConnectedandUnconnected&quot;&gt;&lt;/a&gt;Two Models for Connected and Unconnected&lt;/h3&gt;

&lt;h5&gt;&lt;a name=&quot;Approach&quot;&gt;&lt;/a&gt;Approach&lt;/h5&gt;

&lt;p&gt;Use instance relationships as is for connected preceding or succeeding titles. Use a new model specifically for unconnected.&lt;/p&gt;

&lt;h5&gt;&lt;a name=&quot;Characteristics&quot;&gt;&lt;/a&gt;Characteristics&lt;/h5&gt;

&lt;ul&gt;
	&lt;li&gt;Two places for finding preceding and succeeding titles (needs to be understood by all clients, e.g. reporting, UI, migration etc)&lt;/li&gt;
	&lt;li&gt;Still uses instance relationships, meaning we still need to discriminate them in the UI, and combine them with the unconnected model&lt;/li&gt;
	&lt;li&gt;Likely a middle ground amount of initial work (may be closer to the new model option)&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;&lt;a name=&quot;SingleNewModelforConnectedandUnconnected&quot;&gt;&lt;/a&gt;Single New Model for Connected and Unconnected&lt;/h3&gt;

&lt;h5&gt;&lt;a name=&quot;Approach&quot;&gt;&lt;/a&gt;Approach&lt;/h5&gt;

&lt;p&gt;Stop using instance relationships for connected preceding or succeeding titles. Use a new model for both connected and unconnected.&lt;/p&gt;

&lt;h5&gt;&lt;a name=&quot;Characteristics&quot;&gt;&lt;/a&gt;Characteristics&lt;/h5&gt;

&lt;ul&gt;
	&lt;li&gt;Single place for finding all preceding and succeeding titles&lt;/li&gt;
	&lt;li&gt;Distinguished from instance relationships (no need to weaken or dilute them or discriminate between them in the UI, as we do now)&lt;/li&gt;
	&lt;li&gt;Likely most initial work&lt;/li&gt;
&lt;/ul&gt;
</comment>
                                                            <comment id="194729" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Tue, 11 Feb 2020 09:12:53 +0000"  >&lt;p&gt;The spike result can be found in the attachment&lt;/p&gt;</comment>
                                                            <comment id="194731" author="63e2a2771b13d42998e4e706" created="Tue, 11 Feb 2020 11:43:11 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; class=&quot;user-hover&quot; rel=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; data-account-id=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; accountid=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; rel=&quot;noreferrer&quot;&gt;Svitlana Zmiivska&lt;/a&gt; Thank you. Please can the output of the spike be converted to a format that more folks can readily access (maybe comments here, or a page on the wiki)&lt;/p&gt;</comment>
                                                            <comment id="194735" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Tue, 11 Feb 2020 12:29:42 +0000"  >&lt;p&gt;&lt;ins&gt;&lt;b&gt;Instance Relationships for Connected and Unconnected&lt;/b&gt;&lt;/ins&gt;&lt;/p&gt;


&lt;p&gt;&lt;b&gt;Steps to implement:&lt;/b&gt;&lt;/p&gt;


&lt;ul&gt;
	&lt;li&gt;Add title, hrid and identifiers fields to an instance relationship and make superInstanceId, subInstanceId, instanceRelationshipTypeId fields optinal in &lt;b&gt;mod-inventory-storage&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
&lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
&lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
  {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
  }
]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
	&lt;li&gt;Add title, hrid and indetifiers fields to an instance record in &lt;b&gt;mod-inventory&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;precedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;3b9592cc-55b1-4f19-89e2-d5bf484039b2&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;5bf370e0-8cca-4d9c-82e4-5170ab2a0a39&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;69640328-788e-43fc-9c3c-af39e243f3b7&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;instanceRelationshipTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cde80cc2-0c8b-4672-82d4-721e51dcb990&quot;&lt;/span&gt;
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        },
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;9780262012102&quot;&lt;/span&gt;
        }
      ]
    }
  ],
  &lt;span class=&quot;code-quote&quot;&gt;&quot;succeedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;3b9592cc-55b1-4f19-89e2-d5bf484039b2&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;5bf370e0-8cca-4d9c-82e4-5170ab2a0a39&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;69640328-788e-43fc-9c3c-af39e243f3b7&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;instanceRelationshipTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cde80cc2-0c8b-4672-82d4-721e51dcb990&quot;&lt;/span&gt;
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        },
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;9780262012102&quot;&lt;/span&gt;
        }
      ]
    }
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
	&lt;li&gt;Save title, hrid and indetifiers fields to an instance relationship in &lt;b&gt;mod-inventory-storage&lt;/b&gt; for unconnected preceding and succeeding titles.&lt;/li&gt;
	&lt;li&gt;Save subInstanceId, superInstanceId and instanceRelationshipTypeId fields to an instance relationship in &lt;b&gt;mod-inventory-storage&lt;/b&gt; for connected preceding and succeeding titles. (We&#8217;ve already had)&lt;/li&gt;
&lt;/ul&gt;


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


&lt;p&gt;mod-inventory-storage: 3 story point&lt;br/&gt;
mod-inventory: 5 story point&lt;/p&gt;


&lt;p&gt;&lt;ins&gt;&lt;b&gt;Two Models for Connected and Unconnected&lt;/b&gt;&lt;/ins&gt;&lt;/p&gt;


&lt;p&gt;&lt;b&gt;Steps to implement:&lt;/b&gt;&lt;/p&gt;


&lt;ul&gt;
	&lt;li&gt;Add preceding or succeeding titles fields to an instance record in mod-inventory-storage for unconnected preceding and succeeding titles&lt;/li&gt;
&lt;/ul&gt;



&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;precedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        }
      ]
    }
  ],
  &lt;span class=&quot;code-quote&quot;&gt;&quot;succeedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        }
      ]
    }
  ]
}

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
	&lt;li&gt;Change preceding or succeeding titles in &lt;b&gt;mod-inventory&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For connected titles (the same as we&#8217;ve already had):&lt;/p&gt;


&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;precedingTitles&quot;&lt;/span&gt;: [
    {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;3b9592cc-55b1-4f19-89e2-d5bf484039b2&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;5bf370e0-8cca-4d9c-82e4-5170ab2a0a39&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;69640328-788e-43fc-9c3c-af39e243f3b7&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;instanceRelationshipTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cde80cc2-0c8b-4672-82d4-721e51dcb990&quot;&lt;/span&gt;
    }
  ],
  &lt;span class=&quot;code-quote&quot;&gt;&quot;succeedingTitles&quot;&lt;/span&gt;: [
    {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;3b9592cc-55b1-4f19-89e2-d5bf484039b2&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;5bf370e0-8cca-4d9c-82e4-5170ab2a0a39&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;69640328-788e-43fc-9c3c-af39e243f3b7&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;instanceRelationshipTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cde80cc2-0c8b-4672-82d4-721e51dcb990&quot;&lt;/span&gt;
    }
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;For unconnected titles:&lt;/p&gt;


&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;precedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        }
      ]
    }
  ],
  &lt;span class=&quot;code-quote&quot;&gt;&quot;succeedingTitles&quot;&lt;/span&gt;: [
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        }
      ]
    }
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;ul&gt;
	&lt;li&gt;Save unconnected preceding or succeeding titles in an instance in &lt;b&gt;mod-inventory-storage&lt;/b&gt;&lt;/li&gt;
	&lt;li&gt;Save connected preceding or succeeding titles to an instance relationship in &lt;b&gt;mod-inventory-storage&lt;/b&gt; (We&#8217;ve already had)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Estimation:&lt;/b&gt;&lt;br/&gt;
mod-inventory-storage: 3 story point&lt;br/&gt;
mod-inventory: 5 story point&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;ins&gt;Single New Model for Connected and Unconnected&lt;/ins&gt;&lt;/b&gt;&lt;/p&gt;


&lt;p&gt;&lt;b&gt;Steps to implement:&lt;/b&gt;&lt;/p&gt;


&lt;ul&gt;
	&lt;li&gt;Add preceding and succeeding titles fields to an instance record in &lt;b&gt;mod-inventory-storage&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;precedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        }
      ]
    }
  ],
  &lt;span class=&quot;code-quote&quot;&gt;&quot;succeedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        }
      ]
    }
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;ul&gt;
	&lt;li&gt;Change preceding and succeeding titles in an instance record in &lt;b&gt;mod-inventory&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;precedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        }
      ]
    }
  ],
  &lt;span class=&quot;code-quote&quot;&gt;&quot;succeedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        }
      ]
    }
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
	&lt;li&gt;Save connected/unconnected and preceding/succeeding titles in an instance record in &lt;b&gt;mod-inventory-storage&lt;/b&gt;&lt;/li&gt;
	&lt;li&gt;Remove logic in &lt;b&gt;mod-inventory&lt;/b&gt; and &lt;b&gt;mod-inventory-storage&lt;/b&gt; which connected to preceding and succeeding titles instance relationships&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;mod-inventory-storage: 5 story point&lt;br/&gt;
mod-inventory: 8 story point&lt;/p&gt;</comment>
                                                            <comment id="194741" author="63e2a2771b13d42998e4e706" created="Tue, 11 Feb 2020 13:10:25 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; class=&quot;user-hover&quot; rel=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; data-account-id=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; accountid=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; rel=&quot;noreferrer&quot;&gt;Svitlana Zmiivska&lt;/a&gt; Thank you for providing your thoughts in the comments.&lt;/p&gt;

&lt;p&gt;I&apos;m not sure I&apos;m following all of the details of this investigation.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;make superInstanceId, subInstanceId, instanceRelationshipTypeId fields optional&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Why would the instance relationship type need to be optional?&lt;/p&gt;

&lt;p&gt;It seems that the proposed changes for the &lt;tt&gt;two models&lt;/tt&gt; and the &lt;tt&gt;single new model&lt;/tt&gt; are the same. Is that the case?&lt;/p&gt;

&lt;p&gt;This design suggests that the intention is to store the preceding and succeeding titles for each instance in the &lt;tt&gt;instance record&lt;/tt&gt;? Is that a reasonable understanding?&lt;/p&gt;

&lt;p&gt;If it is, how would this model handle a change to a connected preceding/succeeding title? Would the instance records for both be changed, e.g. for the instance representing the succeeding title, will the other instance be removed from the preceding instances, and vice versa? Where in this system will this coordination of changes happen?&lt;/p&gt;</comment>
                                                            <comment id="194745" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Wed, 12 Feb 2020 13:24:21 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63e2a2771b13d42998e4e706&quot; class=&quot;user-hover&quot; rel=&quot;63e2a2771b13d42998e4e706&quot; data-account-id=&quot;63e2a2771b13d42998e4e706&quot; accountid=&quot;63e2a2771b13d42998e4e706&quot; rel=&quot;noreferrer&quot;&gt;Marc Johnson&lt;/a&gt; Thank you for your questions.&lt;br/&gt;
1)  Why would the instance relationship type need to be optional?&lt;/p&gt;

&lt;p&gt;To save unconnected titles. &lt;br/&gt;
If we leave the instance relationship type required, what kind of instance relationship type should be for unconnected titles in this case?&lt;/p&gt;

&lt;p&gt;2) It seems that the proposed changes for the two models and the single new model are the same. Is that the case?&lt;/p&gt;

&lt;p&gt;I mean:&lt;br/&gt;
Two Models for Connected and Unconnected&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;connected titles are stored in an instance relationship in mod-inventory-storage (the same logic as we&apos;ve already had)&lt;/li&gt;
	&lt;li&gt;unconnected preceding or succeeding titles are stored in an instance in mod-inventory-storage&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Single New Model for Connected and Unconnected&lt;/p&gt;

&lt;p&gt;connected and unconnected titles will be stored in an instance record in mod-inventory-storage&lt;/p&gt;

&lt;p&gt;(Now I see that the Single New Model should be changed. I didn&apos;t take into account that if a linked instance was changed that connected titles should also be changed. I relied on a similar implementation in PO Line, and this implementation turned out not so similar as I expected&lt;br/&gt;
I am working on this. Maybe do you have any ideas?)&lt;/p&gt;

&lt;p&gt;3)This design suggests that the intention is to store the preceding and succeeding titles for each instance in the instance record? Is that a reasonable understanding?&lt;/p&gt;

&lt;p&gt;Yes, it is. The functionality of connected/unconnected titles is based loosely on a similar implementation in PO Lines. &lt;br/&gt;
(It is pointed in the story description &lt;a href=&quot;https://folio-org.atlassian.net/browse/UIIN-960&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/UIIN-960&lt;/a&gt;) &lt;br/&gt;
The connected/unconnected fields are directly saved in a PO Line record. That why I suggested the same approach with preceding and succeeding titles.&lt;/p&gt;

&lt;p&gt;4) If it is, how would this model handle a change to a connected preceding/succeeding title? &lt;/p&gt;

&lt;p&gt;If connected preceding/succeeding title fields (subInstanceId, superInstanceId and instanceRelationshipTypeId) exist, we will be able to get linked instance id&lt;/p&gt;

&lt;p&gt;5)Would the instance records for both be changed, e.g. for the instance representing the succeeding title, &lt;br/&gt;
will the other instance be removed from the preceding instances, and vice versa? &lt;br/&gt;
Where in this system will this coordination of changes happen?&lt;/p&gt;

&lt;p&gt;Could you be more specific? Do you mean Scenario 5 in the story &lt;a href=&quot;https://folio-org.atlassian.net/browse/UIIN-960&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/UIIN-960&lt;/a&gt;&lt;/p&gt;</comment>
                                                            <comment id="194751" author="63e2a2771b13d42998e4e706" created="Wed, 12 Feb 2020 14:28:57 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; class=&quot;user-hover&quot; rel=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; data-account-id=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; accountid=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; rel=&quot;noreferrer&quot;&gt;Svitlana Zmiivska&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;If we leave the instance relationship type required, what kind of instance relationship type should be for unconnected titles in this case?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;In my opinion, it is still a preceding / succeeding title relationship even if one end of the relationship is unconnected.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Yes, it is. The functionality of connected/unconnected titles is based loosely on a similar implementation in PO Lines.&lt;br/&gt;
(It is pointed in the story description &lt;a href=&quot;https://folio-org.atlassian.net/browse/UIIN-960&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/browse/UIIN-960&lt;/a&gt;)&lt;br/&gt;
The connected/unconnected fields are directly saved in a PO Line record. That why I suggested the same approach with preceding and succeeding titles.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Ok, I think there are some key differences between how PO lines are related to instances and preceding / succeeding title relationships that might mean the models need to be different.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;The PO Line to instance relationship always originates from the PO line, which always exists (there is a dominant direction to the relationship, it is one to many). Whereas for a preceding / succeeding title relationship, either the preceding or succeeding instance could be not present, neither the preceding or succeeding end of the relationship takes precedence.&lt;/li&gt;
	&lt;li&gt;A preceding / succeeding title can be navigated from each end (it is a many to many relationship)&lt;/li&gt;
	&lt;li&gt;Changes to the PO Line to instance relationship takes place in the the context of the PO line, whereas changes to a preceding / succeeding title relationship can happen from either end&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Does that make sense?&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5af5ed55244bc90a106063c7&quot; class=&quot;user-hover&quot; rel=&quot;5af5ed55244bc90a106063c7&quot; data-account-id=&quot;5af5ed55244bc90a106063c7&quot; accountid=&quot;5af5ed55244bc90a106063c7&quot; rel=&quot;noreferrer&quot;&gt;Cate Boerema&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Af80403de-e149-421e-8750-af45c853402f&quot; class=&quot;user-hover&quot; rel=&quot;557058:f80403de-e149-421e-8750-af45c853402f&quot; data-account-id=&quot;557058:f80403de-e149-421e-8750-af45c853402f&quot; accountid=&quot;557058:f80403de-e149-421e-8750-af45c853402f&quot; rel=&quot;noreferrer&quot;&gt;Charlotte Whitt&lt;/a&gt; Do you agree with those differences?&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;(Now I see that the Single New Model should be changed. I didn&apos;t take into account that if a linked instance was changed that connected titles should also be changed. I relied on a similar implementation in PO Line, and this implementation turned out not so similar as I expected&lt;br/&gt;
I am working on this. Maybe do you have any ideas?)&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I think at the storage layer, this likely needs to be modelled as a many to many relationship. The complexity of managing those relationships likely needs to be hidden in the business logic API.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=615afd1cd9820f0070a09ef0&quot; class=&quot;user-hover&quot; rel=&quot;615afd1cd9820f0070a09ef0&quot; data-account-id=&quot;615afd1cd9820f0070a09ef0&quot; accountid=&quot;615afd1cd9820f0070a09ef0&quot; rel=&quot;noreferrer&quot;&gt;Zak Burke&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Aff6a9612-bb35-41b2-88a8-a5b66d0a41a0&quot; class=&quot;user-hover&quot; rel=&quot;557058:ff6a9612-bb35-41b2-88a8-a5b66d0a41a0&quot; data-account-id=&quot;557058:ff6a9612-bb35-41b2-88a8-a5b66d0a41a0&quot; accountid=&quot;557058:ff6a9612-bb35-41b2-88a8-a5b66d0a41a0&quot; rel=&quot;noreferrer&quot;&gt;Michal Kuklis&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A63e17413-51f9-4a7c-910b-544728833e0f&quot; class=&quot;user-hover&quot; rel=&quot;557058:63e17413-51f9-4a7c-910b-544728833e0f&quot; data-account-id=&quot;557058:63e17413-51f9-4a7c-910b-544728833e0f&quot; accountid=&quot;557058:63e17413-51f9-4a7c-910b-544728833e0f&quot; rel=&quot;noreferrer&quot;&gt;Matt Connolly&lt;/a&gt; I imagine the UI expectations is that an instance will have a set of preceding titles and a set of succeeding titles (as this is nicest for presentation)? And the addition or removal of sub-records from these collections should add or remove a relationship behind the scenes (and affect the views of both instances for a connected relationship)?&lt;/p&gt;

&lt;p&gt;(Apologies, I&apos;ve run out of time before more meetings. I hope these brief thoughts help. I&apos;ll try to reply better later or tomorrow)&lt;/p&gt;</comment>
                                                            <comment id="194757" author="63e2a2771b13d42998e4e706" created="Wed, 12 Feb 2020 15:48:07 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; class=&quot;user-hover&quot; rel=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; data-account-id=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; accountid=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; rel=&quot;noreferrer&quot;&gt;Svitlana Zmiivska&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;5)Would the instance records for both be changed, e.g. for the instance representing the succeeding title,&lt;br/&gt;
will the other instance be removed from the preceding instances, and vice versa?&lt;br/&gt;
Where in this system will this coordination of changes happen?&lt;/p&gt;

&lt;p&gt;Could you be more specific?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;These questions were intended to raise awareness of a challenge that I think you had already identified above.&lt;/p&gt;

&lt;p&gt;If the preceding / succeeding titles are embedded in each instance, if an entry from a preceding title set is removed from one instance, should the corresponding record to be removed from the succeeding title set in the other instance for a connected relationship.&lt;/p&gt;</comment>
                                                            <comment id="194762" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Tue, 18 Feb 2020 13:29:40 +0000"  >&lt;p&gt;&lt;b&gt;Single New Model for Connected and Unconnected&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;mod-inventory-storage&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;1)create table preceding-succeeding-titles with fields:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;id &#8211; unique ID of the preceding-succeeding-title&lt;/li&gt;
	&lt;li&gt;superInstanceId - ID (a UUID) of the super-instance. References an Instance record&lt;/li&gt;
	&lt;li&gt;subInstanceId - ID (a UUID) of the sub-instance. References an Instance record&lt;/li&gt;
	&lt;li&gt;title - The primary title (or label) associated with the resource&lt;/li&gt;
	&lt;li&gt;hrid - the human readable ID&lt;/li&gt;
	&lt;li&gt;identifiers - An extensible set of name-value pairs of identifiers associated with the resource&lt;/li&gt;
	&lt;li&gt;+ metadata&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt; id- required&lt;br/&gt;
 superInstanceId, subInstanceId, title, hrid, identifiers &#8211; optional&lt;/p&gt;

&lt;p&gt;2)create crud endpoints &lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;for unconnected titles superInstanceId or subInstanceId can be null&lt;/li&gt;
	&lt;li&gt;for connected titles title, hrid, identifiers will be null&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;POST /instance-storage/preceding-succeeding-titles&lt;/p&gt;

&lt;p&gt;Request body&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4b8093b8-8de9-41be-ad9a-0fbccb99052b&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;601a8dc4-dee7-48eb-b03f-d02fdf0debd0&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;83a50dc6-b887-43d9-93ee-28b2c4cd11f8&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
    }
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;GET /instance-storage/preceding-succeeding-titles&lt;/p&gt;

&lt;p&gt;Request parameters:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;limit - Limit the number of elements returned in the response&lt;/li&gt;
	&lt;li&gt;offset - Skip over a number of elements by specifying an offset value for the query&lt;/li&gt;
	&lt;li&gt;query &#8211;a query expressed as a CQL string, can be used for search by parent ID or by child ID,&lt;br/&gt;
ex. subInstanceId==83a50dc6-b887-43d9-93ee-28b2c4cd11f8&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Response:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;precedingSucceedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4b8093b8-8de9-41be-ad9a-0fbccb99052b&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;601a8dc4-dee7-48eb-b03f-d02fdf0debd0&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;83a50dc6-b887-43d9-93ee-28b2c4cd11f8&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        }
      ]
    }
  ],
  &lt;span class=&quot;code-quote&quot;&gt;&quot;totalRecords&quot;&lt;/span&gt;: 1
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;PUT /instance-storage/preceding-succeeding-titles/&lt;/p&gt;
{precedingSucceedingTitleId}&lt;br/&gt;
&lt;br/&gt;
Request body&lt;br/&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;601a8dc4-dee7-48eb-b03f-d02fdf0debd0&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;83a50dc6-b887-43d9-93ee-28b2c4cd11f8&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
    }
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
DELETE /instance-storage/preceding-succeeding-titles/{precedingSucceedingTitleId}

&lt;p&gt;&lt;b&gt;mod-inventory&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;1)Change preceding and succeeding titles fields in instance endpoint to&lt;/p&gt;

&lt;p&gt;POST /inventory/instances&lt;br/&gt;
GET /inventory/instances&lt;br/&gt;
PUT /inventory/instances/&lt;/p&gt;
{instanceId}&lt;br/&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&#8230;
&lt;span class=&quot;code-quote&quot;&gt;&quot;precedingTitles&quot;&lt;/span&gt;: [
  {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cb4f8537-7643-4ef4-8cc4-6dbf7bbe8a6b&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;1b74ab75-9f41-4837-8662-a1d99118008d&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
      {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
      }
    ]
  }
],
&lt;span class=&quot;code-quote&quot;&gt;&quot;succeedingTitles&quot;&lt;/span&gt;: [
  {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;1b4f8537-7643-4ef4-8cc4-6dbf7bbe8a6b&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8be05cf5-fb4f-4752-8094-8e179d08fb99&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
      {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
      }
    ]
  }
]

&#8230;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;
&lt;br/&gt;
2) change behavior that preceding and succeeding titles are created, updated, read and deleted using the  new endpoints in mod-inventory storage  /preceding-succeeding-titles instead of /instance-storage/instance-relationships&lt;br/&gt;
3) get title, hrid and identifier for connected preceding and succeeding titles when return an instance(can be done on UI side)&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;b&gt;Instance Relationships for Connected and Unconnected&lt;/b&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;b&gt;mod-inventory-storage&lt;/b&gt;&lt;br/&gt;
&lt;br/&gt;
1)add fields title, hrid, identifier to instance_relationship table&lt;br/&gt;
2)do superInstanceId and subInstanceId fields optional&lt;br/&gt;
&lt;br/&gt;
&lt;b&gt;mod-inventory&lt;/b&gt;&lt;br/&gt;
&lt;br/&gt;
1)Change preceding and succeeding titles fields in instance endpoint to&lt;br/&gt;
POST &lt;tt&gt;host&lt;/tt&gt;/inventory/instances&lt;br/&gt;
GET &lt;tt&gt;host&lt;/tt&gt;/inventory/instances&lt;br/&gt;
PUT &lt;tt&gt;host&lt;/tt&gt;/inventory/instances/{instanceId}

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&#8230;
&lt;span class=&quot;code-quote&quot;&gt;&quot;precedingTitles&quot;&lt;/span&gt;: [
  {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cb4f8537-7643-4ef4-8cc4-6dbf7bbe8a6b&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;1b74ab75-9f41-4837-8662-a1d99118008d&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;instanceRelationshipTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cde80cc2-0c8b-4672-82d4-721e51dcb990&quot;&lt;/span&gt;
    &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
      {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
      }
    ]
  }
],
&lt;span class=&quot;code-quote&quot;&gt;&quot;succeedingTitles&quot;&lt;/span&gt;: [
  {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;1b4f8537-7643-4ef4-8cc4-6dbf7bbe8a6b&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8be05cf5-fb4f-4752-8094-8e179d08fb99&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;instanceRelationshipTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cde80cc2-0c8b-4672-82d4-721e51dcb990&quot;&lt;/span&gt;
    &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
      {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
      }
    ]
  }
]

&#8230;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2)do superInstanceId and subInstanceId fields optional&lt;br/&gt;
3) add title, hrid, identifier fields to CRUD endpoints &lt;tt&gt;host&lt;/tt&gt;/instance-storage/instance-relationships&lt;br/&gt;
4) get title, hrid and identifier for connected preceding and succeeding titles when return instance&lt;br/&gt;
(can be done on UI side)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Two Models for Connected and Unconnected&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;mod-inventory-storage&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;1)create table unconnected-preceding-succeeding-titles&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;id &#8211; unique ID of the preceding-succeeding-title&lt;/li&gt;
	&lt;li&gt;superInstanceId - ID (a UUID) of the super-instance. References an Instance record&lt;/li&gt;
	&lt;li&gt;subInstanceId - ID (a UUID) of the sub-instance. References an Instance record&lt;/li&gt;
	&lt;li&gt;title - The primary title (or label) associated with the resource&lt;/li&gt;
	&lt;li&gt;hrid - the human readable ID&lt;/li&gt;
	&lt;li&gt;identifiers - An extensible set of name-value pairs of identifiers associated with the resource&lt;br/&gt;
+ metadata&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;id, title - required&lt;br/&gt;
superInstanceId, subInstanceId, hrid, identifiers &#8211; optional&lt;/p&gt;

&lt;p&gt;2)create crud endpoints &lt;br/&gt;
POST /instance-storage/ unconnected-preceding-succeeding-titles&lt;br/&gt;
Request body&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4b8093b8-8de9-41be-ad9a-0fbccb99052b&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;601a8dc4-dee7-48eb-b03f-d02fdf0debd0&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;83a50dc6-b887-43d9-93ee-28b2c4cd11f8&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
    }
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;GET /instance-storage/ unconnected-preceding-succeeding-titles&lt;/p&gt;

&lt;p&gt;Request parameters&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;/li&gt;
	&lt;li&gt;limit - Limit the number of elements returned in the response&lt;/li&gt;
	&lt;li&gt;offset - Skip over a number of elements by specifying an offset value for the query&lt;/li&gt;
	&lt;li&gt;query &#8211;a query expressed as a CQL string, can be used for search by parent ID or by child ID,&lt;br/&gt;
ex. subInstanceId==83a50dc6-b887-43d9-93ee-28b2c4cd11f8&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Response:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;precedingSucceedingTitles&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4b8093b8-8de9-41be-ad9a-0fbccb99052b&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;601a8dc4-dee7-48eb-b03f-d02fdf0debd0&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;83a50dc6-b887-43d9-93ee-28b2c4cd11f8&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
        {
          &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
          &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
        }
      ]
    }
  ],
  &lt;span class=&quot;code-quote&quot;&gt;&quot;totalRecords&quot;&lt;/span&gt;: 1
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;PUT /instance-storage/unconnected-preceding-succeeding-titles/&lt;/p&gt;
{precedingSucceedingTitleId}&lt;br/&gt;
Request body&lt;br/&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;601a8dc4-dee7-48eb-b03f-d02fdf0debd0&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;83a50dc6-b887-43d9-93ee-28b2c4cd11f8&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
    }
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
DELETE /instance-storage/unconnected-preceding-succeeding titles/{precedingSucceedingTitleId}

&lt;p&gt;&lt;b&gt;mod-inventory&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;1)Change preceding and succeeding titles fields in instance endpoint  to&lt;br/&gt;
PUT /inventory/instances/&lt;/p&gt;
{instanceId}

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&#8230;
&lt;span class=&quot;code-quote&quot;&gt;&quot;precedingTitles&quot;&lt;/span&gt;: [
  {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cb4f8537-7643-4ef4-8cc4-6dbf7bbe8a6b&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;1b74ab75-9f41-4837-8662-a1d99118008d&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;instanceRelationshipTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cde80cc2-0c8b-4672-82d4-721e51dcb990&quot;&lt;/span&gt;
    &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
      {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
      }
    ]
  }
],
&lt;span class=&quot;code-quote&quot;&gt;&quot;succeedingTitles&quot;&lt;/span&gt;: [
  {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;1b4f8537-7643-4ef4-8cc4-6dbf7bbe8a6b&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8be05cf5-fb4f-4752-8094-8e179d08fb99&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;instanceRelationshipTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;cde80cc2-0c8b-4672-82d4-721e51dcb990&quot;&lt;/span&gt;
    &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
      {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
      }
    ]
  }
]
&#8230;

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2) change behavior that &lt;br/&gt;
&#8226;	Use /instance-storage/instance-relationships endpoints for connected preceding or succeeding titles.&lt;br/&gt;
&#8226;	Use /instance-storage/unconnected-preceding-succeeding-titles endpoints for unconnected &lt;br/&gt;
3) get title, hrid and identifier for connected preceding and succeeding titles when return instance (can be done on UI side)&lt;/p&gt;
</comment>
                                                            <comment id="194772" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Tue, 18 Feb 2020 13:35:05 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63e2a2771b13d42998e4e706&quot; class=&quot;user-hover&quot; rel=&quot;63e2a2771b13d42998e4e706&quot; data-account-id=&quot;63e2a2771b13d42998e4e706&quot; accountid=&quot;63e2a2771b13d42998e4e706&quot; rel=&quot;noreferrer&quot;&gt;Marc Johnson&lt;/a&gt; Could you please take a look on the possible implementations?&lt;/p&gt;</comment>
                                                            <comment id="194775" author="63e2a2771b13d42998e4e706" created="Tue, 18 Feb 2020 14:19:11 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; class=&quot;user-hover&quot; rel=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; data-account-id=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; accountid=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; rel=&quot;noreferrer&quot;&gt;Svitlana Zmiivska&lt;/a&gt; Thank you for your additional investigation.&lt;/p&gt;

&lt;p&gt;Has this further investigation changed your thoughts about the relative size of the work?&lt;/p&gt;

&lt;p&gt;I&apos;m going to focus on the new model for connected and unconnected preceding / succeeding titles, because I think that is much the same as the hybrid and is of most interest.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;superInstanceId - ID (a UUID) of the super-instance. References an Instance record&lt;br/&gt;
subInstanceId - ID (a UUID) of the sub-instance. References an Instance record&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Given that this model is specific to preceding and succeeding titles, I think we can refer to these more specifically, e.g. &lt;tt&gt;precedingInstanceId&lt;/tt&gt; and &lt;tt&gt;succeedingInstanceId&lt;/tt&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;for unconnected titles superInstanceId or subInstanceId can be null&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;By null, do you mean that the properties will be omitted from the records?&lt;/p&gt;

&lt;p&gt;And is that only one of them can be omitted, or both can be?&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;2) change behavior that preceding and succeeding titles are created, updated, read and deleted using the new endpoints in mod-inventory storage /preceding-succeeding-titles instead of /instance-storage/instance-relationships&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I think this is the aspect I am most interested in. Are you suggesting that mod-inventory will compare the preceding / succeeding titles it already has, with the ones received from the client, and use that to delete, create or replace instance relationships in storage?&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;3) get title, hrid and identifier for connected preceding and succeeding titles when return an instance(can be done on UI side)&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;What do you mean by done on the UI side? Does that mean these won&apos;t be present in the API response for connected preceding / succeeding titles?&lt;/p&gt;

&lt;p&gt;Does it matter to the client if a preceding / succeeding title is connected or unconnected? Does it change their interaction with the records?&lt;/p&gt;</comment>
                                                            <comment id="194780" author="557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50" created="Tue, 18 Feb 2020 14:54:37 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; class=&quot;user-hover&quot; rel=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; data-account-id=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; accountid=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; rel=&quot;noreferrer&quot;&gt;Svitlana Zmiivska&lt;/a&gt;, &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63e2a2771b13d42998e4e706&quot; class=&quot;user-hover&quot; rel=&quot;63e2a2771b13d42998e4e706&quot; data-account-id=&quot;63e2a2771b13d42998e4e706&quot; accountid=&quot;63e2a2771b13d42998e4e706&quot; rel=&quot;noreferrer&quot;&gt;Marc Johnson&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;For the separate model I think we should also take into account data migration (records in instance-relationships table have to be imported to the new table). &lt;/p&gt;

&lt;p&gt;As far as I remember we don&apos;t have separate properties in instance for preceding/succeeding but parent/child properties are used instead. Are we going to add separate properties for them now? If yes, that&apos;s going to be a breaking change I think, at least for data-import. &lt;/p&gt;

&lt;p&gt;What do you think? &lt;/p&gt;</comment>
                                                            <comment id="194786" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Tue, 18 Feb 2020 14:56:20 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63e2a2771b13d42998e4e706&quot; class=&quot;user-hover&quot; rel=&quot;63e2a2771b13d42998e4e706&quot; data-account-id=&quot;63e2a2771b13d42998e4e706&quot; accountid=&quot;63e2a2771b13d42998e4e706&quot; rel=&quot;noreferrer&quot;&gt;Marc Johnson&lt;/a&gt; Only one of them can be omitted superInstanceId or subInstanceId.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&quot;superInstanceId&quot; can be omitted for unconnected preceding titles&lt;/li&gt;
	&lt;li&gt;&quot;subInstanceId&quot; - for unconnected preceding titles&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Ex. Create unconnected preceding titles &lt;br/&gt;
POST /instance-storage/preceding-succeeding-titles&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4b8093b8-8de9-41be-ad9a-0fbccb99052b&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;superInstanceId&quot;&lt;/span&gt;: &quot;&quot;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;subInstanceId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;5bf370e0-8cca-4d9c-82e4-5170ab2a0a39&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;title&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;A semantic web primer&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;hrid&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;inst000000000022&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;identifiers&quot;&lt;/span&gt;: [
    {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;identifierTypeId&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;8261054f-be78-422d-bd51-4ed9f33c3422&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;0262012103&quot;&lt;/span&gt;
    }
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;Preceding unconnected titles can be received using &lt;br/&gt;
GET /instance-storage/preceding-succeeding-titles?query=subInstanceId=5bf370e0-8cca-4d9c-82e4-5170ab2a0a39&lt;/p&gt;</comment>
                                                            <comment id="194791" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Tue, 18 Feb 2020 15:19:25 +0000"  >
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
What &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; you mean by done on the UI side? Does that mean these won&apos;t be present in the API response &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; connected preceding / succeeding titles?
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;It seems to me the best way is to use the same API response for connected preceding / succeeding titles. &lt;br/&gt;
And get title, hrid and identifier for connected titles on BE side. &lt;br/&gt;
&lt;em&gt;&#8220;done on the UI side&#8220;&lt;/em&gt; - It is just another possible way how to do this&lt;/p&gt;</comment>
                                                            <comment id="194793" author="63e2a2771b13d42998e4e706" created="Tue, 18 Feb 2020 15:23:53 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; class=&quot;user-hover&quot; rel=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; data-account-id=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; accountid=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; rel=&quot;noreferrer&quot;&gt;Svitlana Zmiivska&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It seems to me the best way is to use the same API response for connected preceding / succeeding titles.&lt;br/&gt;
And get title, hrid and identifier for connected titles on BE side.&lt;br/&gt;
&#8220;done on the UI side&#8220; - It is just another possible way how to do this&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Ok, you were suggesting that doing it in the client was another alternative?&lt;/p&gt;

&lt;p&gt;I agree this is better done transparently in mod-inventory. It does mean that requests for connected preceding or succeeding titles should ignore those properties and not store them.&lt;/p&gt;</comment>
                                                            <comment id="194796" author="63e2a2771b13d42998e4e706" created="Tue, 18 Feb 2020 15:26:40 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; class=&quot;user-hover&quot; rel=&quot;557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; data-account-id=&quot;557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; accountid=&quot;557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; rel=&quot;noreferrer&quot;&gt;Bohdan Suprun&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;For the separate model I think we should also take into account data migration (records in instance-relationships table have to be imported to the new table).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I agree, we do need to consider migrating connected preceding / succeeding titles from instance relationships to the new model.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;As far as I remember we don&apos;t have separate properties in instance for preceding/succeeding but parent/child properties are used instead. Are we going to add separate properties for them now? &lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Yes, that is my understanding of the option where we introduce a wholly separate model for preceding / succeeding titles.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;If yes, that&apos;s going to be a breaking change I think, at least for data-import.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;How is this a breaking change? Do you mean that if data-import were creating instance relationships for preceding / succeeding titles, they need to stop and move to the new model?&lt;/p&gt;</comment>
                                                            <comment id="194799" author="557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50" created="Tue, 18 Feb 2020 15:34:14 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63e2a2771b13d42998e4e706&quot; class=&quot;user-hover&quot; rel=&quot;63e2a2771b13d42998e4e706&quot; data-account-id=&quot;63e2a2771b13d42998e4e706&quot; accountid=&quot;63e2a2771b13d42998e4e706&quot; rel=&quot;noreferrer&quot;&gt;Marc Johnson&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;Persisting of parent/child relationships is executed within instance-batch API, which is used by data-import I think. But it worth asking them if they are using &lt;tt&gt;preceding-succeeding&lt;/tt&gt; relationship type. &lt;/p&gt;</comment>
                                                            <comment id="194802" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Wed, 19 Feb 2020 10:56:03 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3Ab819106d-3b2a-48e6-a8dd-e7ecc471a47b&quot; class=&quot;user-hover&quot; rel=&quot;712020:b819106d-3b2a-48e6-a8dd-e7ecc471a47b&quot; data-account-id=&quot;712020:b819106d-3b2a-48e6-a8dd-e7ecc471a47b&quot; accountid=&quot;712020:b819106d-3b2a-48e6-a8dd-e7ecc471a47b&quot; rel=&quot;noreferrer&quot;&gt;Oleksii Kuzminov&lt;/a&gt;, &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A8112ce6a-772f-4888-afd3-b243105d06aa&quot; class=&quot;user-hover&quot; rel=&quot;712020:8112ce6a-772f-4888-afd3-b243105d06aa&quot; data-account-id=&quot;712020:8112ce6a-772f-4888-afd3-b243105d06aa&quot; accountid=&quot;712020:8112ce6a-772f-4888-afd3-b243105d06aa&quot; rel=&quot;noreferrer&quot;&gt;Ruslan Lavrov&lt;/a&gt; Could you please help with the following questions: &lt;br/&gt;
Is instance-batch API used by data-import? If yes, Is preceding-succeeding relationship type used by persisting of parent/child relationships?&lt;/p&gt;</comment>
                                                            <comment id="194804" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Wed, 19 Feb 2020 13:37:50 +0000"  >&lt;p&gt;To sum up, we&#8217;ve chosen the new model for connected and unconnected preceding / succeeding titles.&lt;br/&gt;
To implement it we need 3 stories:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;mod-inventory-storage&lt;/b&gt;&lt;br/&gt;
Create new crud endpoints for preceding/succeeding titles. Create and use a new table for preceding/succeeding titles&lt;/p&gt;

&lt;p&gt;Story point 8&lt;/p&gt;

&lt;p&gt;&lt;b&gt;mod-inventory-storage&lt;/b&gt;&lt;br/&gt;
Migrate connected preceding / succeeding titles from instance relationships to the new model.&lt;/p&gt;

&lt;p&gt;Story point 5&lt;/p&gt;

&lt;p&gt;&lt;b&gt;mod-inventory&lt;/b&gt;&lt;br/&gt;
Change behavior that preceding and succeeding titles will use new preceding/succeeding titles endpoints.&lt;/p&gt;

&lt;p&gt;(mod-inventory will compare the preceding / succeeding titles it already has, with the ones received from the client, and use that to delete, create or replace preceding succeeding titles in storage)&lt;/p&gt;

&lt;p&gt;Story point 8&lt;/p&gt;</comment>
                                                            <comment id="194812" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Wed, 19 Feb 2020 13:39:28 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63e2a2771b13d42998e4e706&quot; class=&quot;user-hover&quot; rel=&quot;63e2a2771b13d42998e4e706&quot; data-account-id=&quot;63e2a2771b13d42998e4e706&quot; accountid=&quot;63e2a2771b13d42998e4e706&quot; rel=&quot;noreferrer&quot;&gt;Marc Johnson&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; class=&quot;user-hover&quot; rel=&quot;557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; data-account-id=&quot;557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; accountid=&quot;557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; rel=&quot;noreferrer&quot;&gt;Bohdan Suprun&lt;/a&gt;  The preceding-succeeding relationship type isn&apos;t used by data-import (confirmed by &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=712020%3A8112ce6a-772f-4888-afd3-b243105d06aa&quot; class=&quot;user-hover&quot; rel=&quot;712020:8112ce6a-772f-4888-afd3-b243105d06aa&quot; data-account-id=&quot;712020:8112ce6a-772f-4888-afd3-b243105d06aa&quot; accountid=&quot;712020:8112ce6a-772f-4888-afd3-b243105d06aa&quot; rel=&quot;noreferrer&quot;&gt;Ruslan Lavrov&lt;/a&gt;).&lt;/p&gt;</comment>
                                                            <comment id="194820" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Wed, 19 Feb 2020 13:56:09 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63e2a2771b13d42998e4e706&quot; class=&quot;user-hover&quot; rel=&quot;63e2a2771b13d42998e4e706&quot; data-account-id=&quot;63e2a2771b13d42998e4e706&quot; accountid=&quot;63e2a2771b13d42998e4e706&quot; rel=&quot;noreferrer&quot;&gt;Marc Johnson&lt;/a&gt; &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; class=&quot;user-hover&quot; rel=&quot;557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; data-account-id=&quot;557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; accountid=&quot;557058:89dc6567-baed-429c-bebb-dfcc7e5dcc50&quot; rel=&quot;noreferrer&quot;&gt;Bohdan Suprun&lt;/a&gt; Do you have any other questions or suggestions?&lt;/p&gt;</comment>
                                                            <comment id="194822" author="63e2a2771b13d42998e4e706" created="Wed, 19 Feb 2020 14:06:54 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; class=&quot;user-hover&quot; rel=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; data-account-id=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; accountid=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; rel=&quot;noreferrer&quot;&gt;Svitlana Zmiivska&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;To sum up, we&#8217;ve chosen the new model for connected and unconnected preceding / succeeding titles.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I&apos;m not sure if that decision has been made. I thought &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5af5ed55244bc90a106063c7&quot; class=&quot;user-hover&quot; rel=&quot;5af5ed55244bc90a106063c7&quot; data-account-id=&quot;5af5ed55244bc90a106063c7&quot; accountid=&quot;5af5ed55244bc90a106063c7&quot; rel=&quot;noreferrer&quot;&gt;Cate Boerema&lt;/a&gt; had commented to suggest that if the work wasn&apos;t significantly larger then we go with the new model.&lt;/p&gt;

&lt;p&gt;Given that &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5af5ed55244bc90a106063c7&quot; class=&quot;user-hover&quot; rel=&quot;5af5ed55244bc90a106063c7&quot; data-account-id=&quot;5af5ed55244bc90a106063c7&quot; accountid=&quot;5af5ed55244bc90a106063c7&quot; rel=&quot;noreferrer&quot;&gt;Cate Boerema&lt;/a&gt; is away, if we don&apos;t think this is significantly more work, I suggest we start with the development work on the new model.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; class=&quot;user-hover&quot; rel=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; data-account-id=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; accountid=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; rel=&quot;noreferrer&quot;&gt;Svitlana Zmiivska&lt;/a&gt; Do you agree with that position, that it isn&apos;t significantly more work?&lt;/p&gt;</comment>
                                                            <comment id="194825" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Wed, 19 Feb 2020 14:16:27 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=63e2a2771b13d42998e4e706&quot; class=&quot;user-hover&quot; rel=&quot;63e2a2771b13d42998e4e706&quot; data-account-id=&quot;63e2a2771b13d42998e4e706&quot; accountid=&quot;63e2a2771b13d42998e4e706&quot; rel=&quot;noreferrer&quot;&gt;Marc Johnson&lt;/a&gt; Yes, I do. I think I can start. Should I create stories?&lt;/p&gt;</comment>
                                                            <comment id="194827" author="63e2a2771b13d42998e4e706" created="Wed, 19 Feb 2020 14:19:49 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=70121%3A506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; class=&quot;user-hover&quot; rel=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; data-account-id=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; accountid=&quot;70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9&quot; rel=&quot;noreferrer&quot;&gt;Svitlana Zmiivska&lt;/a&gt; &lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Yes, I do. I think I can start. Should I create stories?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Please check if there are any existing stories already. If not, please create stories as needed.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="60267">MODINV-198</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="56081">MODINVSTOR-441</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="48287">UIIN-950</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="48296">UIIN-960</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="56086">MODINVSTOR-447</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10008">
                    <name>Defines</name>
                                            <outwardlinks description="defines">
                                        <issuelink>
            <issuekey id="11215">UXPROD-2183</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="64278" name="FOLIO-2445 SPIKE_ Preceding_succeeding titles data model.docx" size="23592" author="70121:506eccfa-ceb4-4c24-b3be-f08c4364e2b9" created="Tue, 11 Feb 2020 09:11:40 +0000"/>
                    </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="10171"><![CDATA[Prokopovych]]></customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="832">Core: F - Sprint 82</customfieldvalue>
    <customfieldvalue id="830">Core: F - Sprint 81</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 5 Feb 2020 12:30:22 +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>