<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 22:31:23 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>[MGRTENANT-10] Allow underscore in tenant names</title>
                <link>https://folio-org.atlassian.net/browse/MGRTENANT-10</link>
                <project id="10265" key="MGRTENANT">mgr-tenants</project>
                    <description>&lt;h2&gt;&lt;a name=&quot;Overview&quot;&gt;&lt;/a&gt;Overview&lt;/h2&gt;

&lt;p&gt;Presently, tenant names are restricted to the following pattern: {{&lt;span class=&quot;error&quot;&gt;&amp;#91;a-z&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;a-z0-9&amp;#93;&lt;/span&gt;&lt;/p&gt;
{0,30}}}.&#160; This is too restrictive for naming conventions used by FSE. &#160;&lt;br/&gt;
&lt;br/&gt;
There are naming restrictions in Keycloak and Postgres. &#160;The restriction in the manager components need to take both of these into consideration&lt;br/&gt;
&lt;br/&gt;
* Keycloak: &#160;The Realm name must not contain spaces, or any special character other than &quot;&lt;tt&gt;_&lt;/tt&gt;&quot; or &quot;&lt;tt&gt;-&lt;/tt&gt;&quot;.&lt;br/&gt;
* Postgres: &#160; &lt;tt&gt;_&lt;/tt&gt; is allowed, &lt;tt&gt;-&lt;/tt&gt;&#160;and spaces are not. &#160;Length must be &amp;lt; 64 bytes&lt;br/&gt;
&lt;br/&gt;
h2. Approach&lt;br/&gt;
&lt;br/&gt;
Adjust the naming convention to allow underscores in tenant names, as these are allowed in both Keycloak and Postresql.&#160; With this, FSE can continue to use existing naming conventions.&lt;br/&gt;
&lt;br/&gt;
* Old Pattern: &#160;{{&lt;span class=&quot;error&quot;&gt;&amp;#91;a-z&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;a-z0-9&amp;#93;&lt;/span&gt;{0,30}
&lt;p&gt;}}&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;New Pattern:&#160; {{&lt;span class=&quot;error&quot;&gt;&amp;#91;a-z&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;a-z0-9_&amp;#93;&lt;/span&gt;
{0,29}
&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;a-z0-9&amp;#93;&lt;/span&gt;}}&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;&lt;a name=&quot;AcceptanceCriteria&quot;&gt;&lt;/a&gt;Acceptance Criteria&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;mgr-tenants allows tenant names adhering to the new pattern above&lt;/li&gt;
	&lt;li&gt;tests have been updated&lt;/li&gt;
	&lt;li&gt;a demonstration has been given to the team&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;&lt;a name=&quot;AdditionalInfo%2FLinks&quot;&gt;&lt;/a&gt;Additional Info/Links&lt;/h2&gt;

&lt;p&gt;See &lt;a href=&quot;https://folio-org.atlassian.net/wiki/display/TC/DR-000002+-+Tenant+Id+and+Module+Name+Restrictions&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://folio-org.atlassian.net/wiki/display/TC/DR-000002+-+Tenant+Id+and+Module+Name+Restrictions&lt;/a&gt;.&#160; In pages linked from here, a potential name clash is described, but it seems highly unlikely to happen unless tenants use suffixes like &lt;tt&gt;_mod&lt;/tt&gt; or &lt;tt&gt;_edge&lt;/tt&gt; and modules which don&apos;t use the standard &lt;tt&gt;mod-&lt;/tt&gt; or &lt;tt&gt;edge-&lt;/tt&gt; name prefix.&#160; If needed, we can consider adding checks for these to mgr-tenants to prevent this from happening.&lt;/p&gt;</description>
                <environment></environment>
        <key id="79245">MGRTENANT-10</key>
            <summary>Allow underscore in tenant names</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="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="557058:c3cbad18-2785-4c26-8b3e-2e8d783866c2">Pavel Filippov</assignee>
                                                                <reporter accountid="5cf6c546b87c300f36eb7b9a">Craig McNally</reporter>
                                    <labels>
                            <label>back-end</label>
                            <label>epam-eureka</label>
                            <label>eureka-phase4</label>
                    </labels>
                <created>Thu, 1 Feb 2024 17:20:54 +0000</created>
                <updated>Tue, 6 Feb 2024 09:49:37 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                <comments>
                                                            <comment id="199616" author="61af2efff24150007266ea04" created="Mon, 5 Feb 2024 17:09:06 +0000"  >&lt;p&gt;Tested on &#8220;evrk&#8220; environment - works as expected &lt;img class=&quot;emoticon&quot; src=&quot;/images/icons/emoticons/check.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &lt;/p&gt;

&lt;p&gt;A tenant with one or multiple &#8220;_&#8220; in the name can be successfully created. See screencast with an example: &lt;/p&gt;

&lt;p&gt;&lt;div class=&quot;embeddedObject&quot;&gt;&lt;object classid=&quot;clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B&quot; codebase=&quot;https://www.apple.com/qtactivex/qtplugin.cab&quot; data=&quot;/rest/api/3/attachment/content/64551?stream=true&quot; height=&quot;1080&quot; type=&quot;video/mp4&quot; width=&quot;1920&quot; &gt;&lt;param name=&quot;data&quot; value=&quot;/rest/api/3/attachment/content/64551?stream=true&quot;/&gt;&lt;param name=&quot;src&quot; value=&quot;/rest/api/3/attachment/content/64551?stream=true&quot;/&gt;&lt;param name=&quot;type&quot; value=&quot;video/mp4&quot;/&gt;&lt;embed height=&quot;1080&quot; pluginspage=&quot;https://www.apple.com/quicktime/download/&quot; src=&quot;/rest/api/3/attachment/content/64551?stream=true&quot; type=&quot;video/mp4&quot; width=&quot;1920&quot; /&gt;&lt;/object&gt;&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; tenant names with an underscore at the beginning or an end of a name are not allowed, as per pattern in ticket description&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10008">
                    <name>Defines</name>
                                            <outwardlinks description="defines">
                                        <issuelink>
            <issuekey id="13721">UXPROD-4633</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="64551" name="MGRTENANT-10_evrk.mp4" size="5132198" author="61af2efff24150007266ea04" created="Mon, 5 Feb 2024 17:09:05 +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="10149"><![CDATA[Eureka]]></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|i099vc:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="231">Eureka Sprint 45</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10044" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 5 Feb 2024 17:09:06 +0000</customfieldvalue>

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