<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 22:31:34 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>[MODWRKFLOW-8] Upgrade to Spring Boot 3</title>
                <link>https://folio-org.atlassian.net/browse/MODWRKFLOW-8</link>
                <project id="10266" key="MODWRKFLOW">mod-workflow</project>
                    <description>&lt;p&gt;Mod-workflow is using spring-module-core version 1.1.5, which is Spring Boot 2.7.&lt;/p&gt;

&lt;p&gt;Switch over to spring-module-core 2.0.0 and upgrade mod-workflow to use Spring Boot 3.&lt;/p&gt;</description>
                <environment></environment>
        <key id="79256">MODWRKFLOW-8</key>
            <summary>Upgrade to Spring Boot 3</summary>
                <type id="10008" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10300?size=medium">Tech Debt</type>
                                            <priority id="10000" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p1.svg">P1</priority>
                        <status id="10002" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/generic.png" description="(Migrated on 4 Feb 2024 13:41 UTC)">In Review</status>
                    <statusCategory id="4" key="indeterminate" colorName="yellow"/>
                                    <resolution id="-1">Unresolved</resolution>
                                                        <assignee accountid="62ceeb5f078104d0866d40f8">Kevin Day</assignee>
                                                                <reporter accountid="62ceeb5f078104d0866d40f8">Kevin Day</reporter>
                                    <labels>
                    </labels>
                <created>Fri, 12 Jan 2024 17:12:23 +0000</created>
                <updated>Tue, 6 Feb 2024 15:46:50 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                <comments>
                                                            <comment id="188119" author="62ceeb5f078104d0866d40f8" created="Wed, 17 Jan 2024 20:18:19 +0000"  >&lt;p&gt;Upgrading to Spring-Boot 3.0 for mod-workflow (which requires switching to spring-module-core 2.0.0 or later).&lt;/p&gt;

&lt;p&gt;Switching all of the dependencies into Jakarta works, except for one major problem area.&lt;/p&gt;

&lt;p&gt;The &lt;tt&gt;mbknor-jackson-jsonschema&lt;/tt&gt; dependency is out of date and still using the javaxml that is replaced by Jakarta when upgrading to Spring-Boot 3.&lt;br/&gt;
The &lt;tt&gt;jackson-module-jsonSchema-jakarta&lt;/tt&gt; provides and appropriate upgrade but that module:&lt;br/&gt;
1. Fails to properly handle all of the details needed to generate a proper model schema representation in the same way &lt;tt&gt;mbknor-jackson-jsonschema&lt;/tt&gt; does.&lt;br/&gt;
2. Support is being removed for versions later than 2 (&quot;Due to lack of support by community, this module is NOT planned to be supported beyond Jackson 2.x&quot;).&lt;/p&gt;

&lt;p&gt;The problem is that &lt;tt&gt;mbknor-jackson-jsonschema&lt;/tt&gt; has not been actively maintained for a few years and has several relevant issues on Github:&lt;br/&gt;
1. &lt;a href=&quot;https://github.com/mbknor/mbknor-jackson-jsonSchema/issues/173&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/mbknor/mbknor-jackson-jsonSchema/issues/173&lt;/a&gt;&lt;br/&gt;
2. &lt;a href=&quot;https://github.com/mbknor/mbknor-jackson-jsonSchema/pull/159&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/mbknor/mbknor-jackson-jsonSchema/pull/159&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;mbknor-jackson-jsonschema&lt;/tt&gt; is using Kotlin rather than pure Java, making it more diffucult to fork and fix.&lt;br/&gt;
However, somebody did go out of their way to make a pure Java version here:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;https://github.com/almson/mbknor-jackson-jsonSchema-java/tree/master&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/almson/mbknor-jackson-jsonSchema-java/tree/master&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;It is possible to use that custom fork, but additional work is needed to port this over to Jakarta by adding the following to the &lt;tt&gt;pom.xml&lt;/tt&gt; and fixing the dependency usages:&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;
&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;jakarta.validation&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;jakarta.validation-api&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;3.1.0-M1&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;
&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;jakarta.annotation&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;jakarta.annotation-api&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;3.0.0-M1&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This solution is not ideal, at all.&lt;/p&gt;

&lt;p&gt;Therefore, this issue is blocked for further investigation and until a decision can be made on how to handle these dependency problems.&lt;/p&gt;

&lt;p&gt;see: &lt;a href=&quot;https://mvnrepository.com/artifact/com.kjetland/mbknor-jackson-jsonschema&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://mvnrepository.com/artifact/com.kjetland/mbknor-jackson-jsonschema&lt;/a&gt;&lt;br/&gt;
see: &lt;a href=&quot;https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-jsonSchema-jakarta&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-jsonSchema-jakarta&lt;/a&gt;&lt;br/&gt;
see: &lt;a href=&quot;https://github.com/mbknor/mbknor-jackson-jsonSchema&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/mbknor/mbknor-jackson-jsonSchema&lt;/a&gt;&lt;br/&gt;
see: &lt;a href=&quot;https://github.com/FasterXML/jackson-module-jsonSchema&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/FasterXML/jackson-module-jsonSchema&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="79253">MODWRKFLOW-10</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="79255">MODWRKFLOW-6</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10139"><![CDATA[Aggies]]></customfieldvalue>

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

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1730">Aggies Sprint 1</customfieldvalue>
    <customfieldvalue id="1974">Aggies Sprint 2</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10044" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>