<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 00:36:33 CET 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 append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Magnolia - Issue tracker</title>
    <link>https://jira.magnolia-cms.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-uk</language>    <build-info>
        <version>9.4.2</version>
        <build-number>940002</build-number>
        <build-date>19-01-2023</build-date>
    </build-info>


<item>
            <title>[MGNLCT-37] Update registered node-types</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLCT-37</link>
                <project id="14481" key="MGNLCT">Content Types</project>
                    <description>&lt;p&gt;Following upon &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLCT-11&quot; title=&quot;Register node type for given content type&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLCT-11&quot;&gt;&lt;del&gt;MGNLCT-11&lt;/del&gt;&lt;/a&gt;; we need to define the behavior in case of node-types updates (reregistration, migration of content) or deletion (???).&lt;/p&gt;</description>
                <environment></environment>
        <key id="66497">MGNLCT-37</key>
            <summary>Update registered node-types</summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</type>
                                            <priority id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/neutral.gif">Neutral</priority>
                        <status id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="ngoc.nguyenthanh">Ngoc Nguyenthanh</assignee>
                                    <reporter username="mgeljic">Mika&#235;l Gelji&#263;</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 May 2018 10:05:49 +0200</created>
                <updated>Tue, 21 Aug 2018 09:29:32 +0200</updated>
                            <resolved>Thu, 7 Jun 2018 12:36:03 +0200</resolved>
                                                    <fixVersion>1.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                    <workratio workratioPercent="104"/>
                                    <progress percentage="100">
                                    <originalProgress>
                                                    <row percentage="95" backgroundColor="#89afd7"/>
                                                    <row percentage="5" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="100">
                                    <originalProgress>
                                                    <row percentage="95" backgroundColor="#89afd7"/>
                                                    <row percentage="5" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                    <timeoriginalestimate seconds="72000">2.5d</timeoriginalestimate>
                            <timeestimate seconds="0">0d</timeestimate>
                            <timespent seconds="75600">2d 5h</timespent>
                                <comments>
                            <comment id="161130" author="ngoc.nguyenthanh" created="Fri, 25 May 2018 09:13:55 +0200"  >&lt;p&gt;Current implementation provides to users 2 options for registering node types: node type definition file and node type list.&lt;/p&gt;
&lt;h6&gt;&lt;a name=&quot;Expected%C2%A0behaviors&quot;&gt;&lt;/a&gt;Expected&#160; behaviors&lt;/h6&gt;
&lt;ul&gt;
	&lt;li&gt;Node type definition file&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;
	&lt;ul&gt;
		&lt;li&gt;Summary: Register &amp;amp; un-register node types from definition file are doable &lt;b&gt;&lt;em&gt;excepts data migration&lt;/em&gt;&lt;/b&gt;&lt;/li&gt;
		&lt;li&gt;Old Node Type Definition
		&lt;ul&gt;
			&lt;li&gt;Do nothing with registered node types from the old definition file.&lt;/li&gt;
			&lt;li&gt;Un-register node types may cause of system failure when working with existing data. Beside that, we&apos;re supported updating node type definition of existing node type. So that, they still can re-use the node name if they want to but they need to be fully aware of what will happen.
			&lt;ul&gt;
				&lt;li&gt;Pros: Don&apos;t need to care of data migration&lt;/li&gt;
				&lt;li&gt;Cons: Unhandled node types&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;New Node Type definition
		&lt;ul&gt;
			&lt;li&gt;Node types are &lt;b&gt;not&lt;/b&gt; registered =&amp;gt; Register newly node types.&lt;/li&gt;
			&lt;li&gt;Node types are registered =&amp;gt; Compare of old definition and new definition
			&lt;ul&gt;
				&lt;li&gt;Un-changes: Do nothing&lt;/li&gt;
				&lt;li&gt;Modified:
				&lt;ul&gt;
					&lt;li&gt;Un-register old node types&lt;/li&gt;
					&lt;li&gt;Register node types with new definition&lt;/li&gt;
					&lt;li&gt;Data migration =&amp;gt; Show a warning. User should take care of their migration: versioning, indexing, required properties, backup &amp;amp; restore, etc&lt;/li&gt;
				&lt;/ul&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Node types list: a list contains related node types and will be consumed by other modules. So that some node types are registered and may is part of the system. By comparing old node types list (registered content type definition) vs modified node types list, we will have 3 cases:&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;
	&lt;ul&gt;
		&lt;li&gt;Un-changes: Do nothing&lt;/li&gt;
		&lt;li&gt;Added: Same as creation process.&lt;/li&gt;
		&lt;li&gt;Removed:&#160; Do nothing
		&lt;ul&gt;
			&lt;li&gt;Node type are not created by the&#160;content-type module: Do nothing&lt;/li&gt;
			&lt;li&gt;Node types created by content-type module
			&lt;ul&gt;
				&lt;li&gt;Same as discussion mentioned in &quot;Old Node Type Definition&quot; section above.&lt;/li&gt;
				&lt;li&gt;Do nothing&lt;/li&gt;
			&lt;/ul&gt;
			&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;h6&gt;&lt;a name=&quot;Technicaldetail&quot;&gt;&lt;/a&gt;Technical detail&lt;/h6&gt;

&lt;p&gt;&lt;b&gt;Node Type Definition File&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Contains all syntax of JCR node type definition, so that users have full control of node type modification. Note: Don&apos;t support CND at the moment&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Jackrabbit provides an API to register node type and allows updating. See NodeTypeManagerImpl#registerNodeTypes(java.io.InputStream, java.lang.String, boolean). However only trivial changes is supported
	&lt;ul&gt;
		&lt;li&gt;Trivial changes in detail - &lt;a href=&quot;https://jackrabbit.apache.org/api/2.6/org/apache/jackrabbit/spi/commons/nodetype/NodeTypeDefDiff.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jackrabbit.apache.org/api/2.6/org/apache/jackrabbit/spi/commons/nodetype/NodeTypeDefDiff.html&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Otherwise an error will be raised. See NodeTypeRegistry#checkForConflictingContent&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Solution: unregister &amp;amp; register again. RegisterNodeTypeTask is a starting point.
	&lt;ul&gt;
		&lt;li&gt;Disable references checking in existing contents. So that, we accepts the fact that : we don&apos;t handle data migration while changing node type definition. Could be introduced in a migration tool. See NodeTypeRegistry#disableCheckForReferencesInContentException&lt;/li&gt;
		&lt;li&gt;Read node type definition by using NodeTypeReader. Register if it&apos;s non existing, else unregister &amp;amp; register if any changes. Detects by NodeTypeDefDiff#create&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Node Types List&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;All about of making decisions.&lt;/li&gt;
	&lt;li&gt;No remark on technical side.&lt;/li&gt;
&lt;/ul&gt;


&lt;h6&gt;&lt;a name=&quot;Concerns&quot;&gt;&lt;/a&gt;Concerns&lt;/h6&gt;
&lt;ul&gt;
	&lt;li&gt;We need to make decisions on data migration. Should we support or not? If supported then how?&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10030">
                    <name>Cloners</name>
                                            <outwardlinks description="clones">
                                        <issuelink>
            <issuekey id="60129">MGNLCT-11</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10040">
                    <name>causality</name>
                                                                <inwardlinks description="is causing">
                                        <issuelink>
            <issuekey id="66760">MGNLCT-41</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_14166" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Acceptance criteria</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>magnolia-cms.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10031" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 25 May 2018 09:13:55 +0200</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10246" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>MGNLCT-19</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ngoc.nguyenthanh</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 38 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>mgeljic</customfieldvalue>
            <customfieldvalue>ngoc.nguyenthanh</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|y003sg:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10245" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="729">Saigon 146</customfieldvalue>
    <customfieldvalue id="739">Saigon 147</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10242" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_14167" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Task DoR</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_14145" key="com.intenso.jira.issue-templates:issue-templates-customfield">
                        <customfieldname>Template</customfieldname>
                        <customfieldvalues>
                            


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_15131" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Time in Discovery</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>