<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 00:36:18 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-11] Register node type for given content type</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLCT-11</link>
                <project id="14481" key="MGNLCT">Content Types</project>
                    <description>&lt;p&gt;Node type name will be derived from content type and for now we accept the namespace as &apos;mgnl&apos;. This will however change in the future and most likely we will have it configurable by user.&lt;/p&gt;</description>
                <environment></environment>
        <key id="60129">MGNLCT-11</key>
            <summary>Register node type for given content type</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="hieu.nguyen">Hieu Nguyen Duc</assignee>
                                    <reporter username="ilgun">Ilgun Ilgun</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Jul 2017 15:55:23 +0200</created>
                <updated>Mon, 4 Jun 2018 13:02:14 +0200</updated>
                            <resolved>Fri, 25 May 2018 04:47:46 +0200</resolved>
                                    <version>0.5.1</version>
                                    <fixVersion>1.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                    <workratio workratioPercent="137"/>
                                    <progress percentage="100">
                                    <originalProgress>
                                                    <row percentage="72" backgroundColor="#89afd7"/>
                                                    <row percentage="28" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="100">
                                    <originalProgress>
                                                    <row percentage="72" backgroundColor="#89afd7"/>
                                                    <row percentage="28" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                    <timeoriginalestimate seconds="57600">2d</timeoriginalestimate>
                            <timeestimate seconds="0">0d</timeestimate>
                            <timespent seconds="79200">2.75d</timespent>
                                <comments>
                            <comment id="153768" author="ahietala" created="Fri, 5 Jan 2018 13:39:05 +0100"  >&lt;p&gt;Removing the issue from backlog. Reconsider after Q1 2018. &lt;/p&gt;</comment>
                            <comment id="160370" author="ngoc.nguyenthanh" created="Thu, 10 May 2018 06:43:39 +0200"  >&lt;h6&gt;&lt;a name=&quot;ConfigurationSyntax&quot;&gt;&lt;/a&gt;Configuration Syntax&lt;/h6&gt;
&lt;ul&gt;
	&lt;li&gt;Current implementation: Allows register a simple node type with fixed/predefined supertypes. See JcrRegistrationImpl#register&lt;/li&gt;
	&lt;li&gt;A power user may want more than that by defining custom super types, mixin, property definition, etc. All of definitions which is supported by JCR.
	&lt;ul&gt;
		&lt;li&gt;Provide as YAML syntax: Seem like we&apos;re reinventing the node type configuration by converting xml syntax of node type definition to yaml syntax
		&lt;ul&gt;
			&lt;li&gt;Pros: Bring consistency to the definition mechanism. Easier to read.&lt;/li&gt;
			&lt;li&gt;Cons: More work to do. Need to adapt when never changes occurs in the JCR implementation.&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;Using the existing XML syntax: Use as we did before. Provide just an &quot;&lt;font color=&quot;#427f01&quot;&gt;nodeTypeFile&lt;/font&gt;&quot; property and point to xml file of node types definition. &lt;font color=&quot;#000099&quot;&gt;&amp;lt;&lt;/font&gt;&lt;font color=&quot;#427f01&quot;&gt;nodeTypeFile&lt;/font&gt;&lt;font color=&quot;#000099&quot;&gt;&amp;gt;&lt;/font&gt;/mgnl-nodetypes/magnolia-contacts-nodetypes.xml&lt;font color=&quot;#000099&quot;&gt;&amp;lt;/&lt;/font&gt;&lt;font color=&quot;#427f01&quot;&gt;nodeTypeFile&lt;/font&gt;&lt;font color=&quot;#000099&quot;&gt;&amp;gt;&lt;/font&gt;
		&lt;ul&gt;
			&lt;li&gt;Pros: Provide for advanced use cases with minimal efforts. Evolution with the JCR implementation by it self. Simpler configuration.&lt;/li&gt;
			&lt;li&gt;Cons: Not nicely as YAML syntax.&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;ul&gt;
	&lt;li&gt;JCR node types&#160; - &lt;a href=&quot;http://jackrabbit.apache.org/jcr/node-types.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://jackrabbit.apache.org/jcr/node-types.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Registering node types
	&lt;ul&gt;
		&lt;li&gt;Magnolia ProviderImpl - ProviderImpl#registerNodeTypes(java.io.InputStream)&lt;/li&gt;
		&lt;li&gt;An programmatic API - &lt;a href=&quot;https://docs.jboss.org/author/display/MODE/Defining+custom+node+types#Definingcustomnodetypes-Registeringcustomnodetypes&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.jboss.org/author/display/MODE/Defining+custom+node+types#Definingcustomnodetypes-Registeringcustomnodetypes&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Un-registering node types
	&lt;ul&gt;
		&lt;li&gt;API: NodeTypeManager#unregisterNodeType&lt;/li&gt;
		&lt;li&gt;If a node is using, need to force delete or do a migration. Mentioned &lt;a href=&quot;https://wiki.magnolia-cms.com/display/VN/Node+Types+Findings#NodeTypesFindings-2)Disableconstraintbetweennodesandnodetypes&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here.&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Renaming node types: Kind of migration.
	&lt;ul&gt;
		&lt;li&gt;Register the new node type.&lt;/li&gt;
		&lt;li&gt;Scan the data is using old node types.&lt;/li&gt;
		&lt;li&gt;Change the type of nodes to the new node type.&lt;/li&gt;
		&lt;li&gt;Un-register the old node type.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Updating node type definition
	&lt;ul&gt;
		&lt;li&gt;API NodeTypeManager#registerNodeType&lt;/li&gt;
		&lt;li&gt;The second parameter is &quot;allowUpdate&quot;. When it&apos;s turned to &quot;true&quot;, updating node type definition should be handled by JCR implementation.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Summary&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;In production environment, changing node types definition frequently is not a right thing to do. And it&apos;s cost too much.&lt;/li&gt;
	&lt;li&gt;In development environment, the changing process is more frequently.&lt;/li&gt;
	&lt;li&gt;Conclusion: Need a decision regarding the level of supporting node type definition modifying.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;TBC&lt;/p&gt;</comment>
                            <comment id="160830" author="mgeljic" created="Fri, 18 May 2018 11:54:15 +0200"  >&lt;ul&gt;
	&lt;li&gt;Renaming/unregistering to be done in a cloned ticket&lt;/li&gt;
	&lt;li&gt;Add &lt;tt&gt;nodeTypeDefinition&lt;/tt&gt; property to JRDatasource def (in addition with &lt;tt&gt;nodeTypes&lt;/tt&gt;).&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;If this file is configured (&lt;em&gt;e.g.&lt;/em&gt; &lt;tt&gt;nodeTypeDefinition: /ds/contentTypes/cars-nodetypes.xml&lt;/tt&gt;), then we just pass the file for registration by JR;
	&lt;ul&gt;
		&lt;li&gt;then we don&apos;t do the &quot;simple&quot; registration for configured &lt;tt&gt;nodeTypes&lt;/tt&gt;; they must be provided in that XML/CND file; otherwise log an error.&lt;/li&gt;
		&lt;li&gt;if the nodeTypes list is empty; then we should log a warning (because CT consumers will not be able to deduce node-type, e.g. for contentConnector or delivery endpoint)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;If this file is not configured, we use the &lt;tt&gt;nodeTypes&lt;/tt&gt; list and set &lt;tt&gt;mgnl:content&lt;/tt&gt; as supertype for all configured node-types.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Registration to be done via &lt;tt&gt;info.magnolia.jackrabbit.ProviderImpl#registerNodeTypes(java.io.InputStream)&lt;/tt&gt;&lt;br/&gt;
&#8212;for further updates (&lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLCT-37&quot; title=&quot;Update registered node-types&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MGNLCT-37&quot;&gt;&lt;del&gt;MGNLCT-37&lt;/del&gt;&lt;/a&gt;), we will need to extract reregistration logic from &lt;tt&gt;RegisterNodeTypeTask&lt;/tt&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10030">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="66497">MGNLCT-37</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10020">
                    <name>dependency</name>
                                                                <inwardlinks description="is depended upon by">
                                                        </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, 5 Jan 2018 13:39:05 +0100</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>hieu.nguyen</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 39 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>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>ahietala</customfieldvalue>
            <customfieldvalue>hieu.nguyen</customfieldvalue>
            <customfieldvalue>ilgun</customfieldvalue>
            <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|hzzyo6:la</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="708">Saigon 143</customfieldvalue>
    <customfieldvalue id="711">Saigon 144</customfieldvalue>
    <customfieldvalue id="716">Saigon 145</customfieldvalue>
    <customfieldvalue id="729">Saigon 146</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10242" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.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>