<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 10:00:34 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>[MGNLHOOK-36] Demonstration project: Netlify and Vercel</title>
                <link>https://jira.magnolia-cms.com/browse/MGNLHOOK-36</link>
                <project id="17487" key="MGNLHOOK">Magnolia Webhooks</project>
                    <description>&lt;p&gt;Implement as described here: &lt;a href=&quot;https://wiki.magnolia-cms.com/display/DEVINT/Webhooks+-+Proposal+for+Demo+Projects&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.magnolia-cms.com/display/DEVINT/Webhooks+-+Proposal+for+Demo+Projects&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See Epic ticket: &lt;a href=&quot;https://jira.magnolia-cms.com/browse/MGNLHOOK-15&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.magnolia-cms.com/browse/MGNLHOOK-15&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="109970">MGNLHOOK-36</key>
            <summary>Demonstration project: Netlify and Vercel</summary>
                <type id="14" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10895&amp;avatarType=issuetype">Story</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="plequoc">Phong Le Quoc</assignee>
                                    <reporter username="jbenito">Javier Benito</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Apr 2022 17:28:13 +0200</created>
                <updated>Thu, 26 Oct 2023 10:58:49 +0200</updated>
                            <resolved>Mon, 17 Apr 2023 10:20:30 +0200</resolved>
                                                    <fixVersion>2.0.1</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                    <progress percentage="100">
                                    <originalProgress>
                                                    <row percentage="0" backgroundColor="#89afd7"/>
                                                    <row percentage="100" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="100">
                                    <originalProgress>
                                                    <row percentage="0" backgroundColor="#89afd7"/>
                                                    <row percentage="100" backgroundColor="transparent"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="100" backgroundColor="#51a825"/>
                                                    <row percentage="0" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                                    <timespent seconds="134100">4d 5.25h</timespent>
                                                                    <aggregatetimespent seconds="134100">4d 5.25h</aggregatetimespent>
                                    <comments>
                            <comment id="351487" author="czimmermann" created="Wed, 5 Apr 2023 16:40:49 +0200"  >&lt;p&gt;Reviewing the demo project.&lt;/p&gt;

&lt;p&gt;Interesting that you used the SaaS format for repo structure rather than the one from the demos with &quot;magnolia&quot; and &quot;spa&quot; root directories. But why not, will then be compatible with SaaS later.&lt;/p&gt;

&lt;p&gt;But due to this structure - the .gitignore should include `apache-tomcat`, `downloads` at least, as when dev uses the CLI those directories will be created. (In PR)&lt;/p&gt;

&lt;p&gt;Readme should not link to &lt;a href=&quot;https://git.magnolia-cms.com/projects/demos/repos/minimal-headless-spa-demos/browse,&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.magnolia-cms.com/projects/demos/repos/minimal-headless-spa-demos/browse,&lt;/a&gt;&#160;that is very confusing as it is a different projects also with different directory structure. (In PR)&lt;/p&gt;

&lt;p&gt;For ngrok - should have one sentance about why we use it in the demo. Should not use &quot;brew&quot; as I believe thats Mac only. (In PR)&lt;/p&gt;

&lt;p&gt;For netlify - we cannot link to SaaS docs. Those aare not public and are a different context for now.&lt;/p&gt;

&lt;p&gt;For netlify and vercel - I think it will currently rebuild site when any file changes, that&apos;s not what a developer wants - it should not update when light-modules change, only when frontend project changes.&lt;/p&gt;

&lt;p&gt;For netlify - can we not include a netlify configuration file?&lt;/p&gt;

&lt;p&gt;For vercel - can we not include a vercel configuration file?&lt;/p&gt;

&lt;p&gt;Why does &quot;Modify our code&quot; include last step &quot;Rollback (2)&quot;?&lt;/p&gt;

&lt;p&gt;Added PR to address some of these marked (PR) above:&#160;&lt;br/&gt;
&lt;a href=&quot;https://git.magnolia-cms.com/projects/DOCUMENTATION/repos/webhook-ssg-demo/pull-requests/1/overview&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.magnolia-cms.com/projects/DOCUMENTATION/repos/webhook-ssg-demo/pull-requests/1/overview&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="351568" author="plequoc" created="Thu, 6 Apr 2023 11:14:54 +0200"  >&lt;p&gt;&lt;a href=&quot;https://jira.magnolia-cms.com/secure/ViewProfile.jspa?name=czimmermann&quot; class=&quot;user-hover&quot; rel=&quot;czimmermann&quot;&gt;czimmermann&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#8212;&lt;/p&gt;

&lt;p&gt;Why does &quot;Modify our code&quot; include last step &quot;Rollback (2)&quot;?&lt;/p&gt;

&lt;p&gt;&#8212;&lt;/p&gt;

&lt;p&gt;This rollback and .env.local mean SPA run on local and when we publish pages, Netlify will be redeployed by our webhook trigger. Our main purpose.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;If we connect direct Magnolia CMS and Netlify, the pages always rebuild already for editing. So webhook is not needed &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.magnolia-cms.com/images/icons/emoticons/smile.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;</comment>
                            <comment id="351572" author="plequoc" created="Thu, 6 Apr 2023 11:17:38 +0200"  >&lt;p&gt;&amp;#8211;&lt;/p&gt;

&lt;p&gt;For netlify and vercel - I think it will currently rebuild site when any file changes, that&apos;s not what a developer wants - it should not update when light-modules change, only when frontend project changes.&lt;/p&gt;

&lt;p&gt;&amp;#8211;&lt;/p&gt;

&lt;p&gt;That is configuration on Netlify. It will rebuild when any changes on Git.&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;
Active buildsNetlify will build your site according to your continuous deployment settings when you push to your Git provider.

Stopped buildsNetlify will not build your site automatically. You can build locally via the CLI and then publish &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; deploys manually via the CLI or the API. &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I don&apos;t know if there is any config to custom this.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="351635" author="czimmermann" created="Thu, 6 Apr 2023 14:02:49 +0200"  >&lt;p&gt;Oh I didn&apos;t get that &quot;Rollback (2) meant to undo the changes in step 2 above, I see. But is it really needed? I guess it just makes the developer experience better if they continue to work on the SPA locally - is that the idea?&lt;/p&gt;

&lt;p&gt;Assuming yes - how about changing to &quot;Optionally, rollback the changes in step (2) above - then the Page Editor will load your local SPA so you can keep developing it.&quot;&lt;/p&gt;

&lt;p&gt;I don&apos;t understand &quot;If we connect direct Magnolia CMS and Netlify, the pages always rebuild already for editing. So webhook is not needed&quot;. Without the webhook, then pages would not rebuild on a content publication right?&lt;/p&gt;</comment>
                            <comment id="351641" author="czimmermann" created="Thu, 6 Apr 2023 14:15:19 +0200"  >&lt;p&gt;Regarding &quot;&#160;it should not update when light-modules change, only when frontend project changes.&quot;&lt;/p&gt;

&lt;p&gt;Maybe this is possible with &quot;ignore&quot; command, but actually it looks kind of tricky to get it right. For example if a push includes changes to SPA and light-modules then we want it to still build.&#160;&lt;/p&gt;

&lt;p&gt;It would be great if you can investigate a bit, but lets do like a 1 hour time box, because it might be a rabbit-hole (hard to do.), and not worth it.&lt;/p&gt;

&lt;p&gt;See:&#160;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://docs.netlify.com/configure-builds/file-based-configuration/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.netlify.com/configure-builds/file-based-configuration/&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://docs.netlify.com/configure-builds/ignore-builds/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.netlify.com/configure-builds/ignore-builds/&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://answers.netlify.com/t/support-guide-how-to-use-the-ignore-command/37517&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://answers.netlify.com/t/support-guide-how-to-use-the-ignore-command/37517&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="351703" author="plequoc" created="Fri, 7 Apr 2023 05:49:30 +0200"  >&lt;p&gt;1. You are right. In addition, I want to show the effect of publication/webhook (see item 2). We might change to &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;
Optionally, rollback the changes in steps (1) and (2) above - then the Page Editor will load your local SPA so you can keep developing it.&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and remove &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;
Duplicate webhook-ssg-demo/.env to .env.local &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2. Yes, without webhook the pages would not rebuild on a content publication. But the pages are always rebuilt when we edit them. So we don&apos;t need to rebuild when publication.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10022">
                    <name>supersession</name>
                                            <outwardlinks description="supersedes">
                                        <issuelink>
            <issuekey id="109971">MGNLHOOK-37</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                            <subtask id="128555">MGNLHOOK-341</subtask>
                            <subtask id="130189">MGNLHOOK-343</subtask>
                            <subtask id="130869">MGNLHOOK-344</subtask>
                            <subtask id="130871">MGNLHOOK-346</subtask>
                    </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_14730" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Approved</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="17305"><![CDATA[Yes]]></customfieldvalue>
    
                        </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>Wed, 5 Apr 2023 16:40:49 +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_12130" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Documentation update required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="13300"><![CDATA[Yes]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10246" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>MGNLHOOK-15</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>fgrilli</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            44 weeks, 3 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>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>czimmermann</customfieldvalue>
            <customfieldvalue>jbenito</customfieldvalue>
            <customfieldvalue>plequoc</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzztvm:602</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="1780">DevX 34</customfieldvalue>
    <customfieldvalue id="1783">DevX 35</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_14433" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>T-Shirt Size</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16403"><![CDATA[Small]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_12430" key="com.atlassian.teams:rm-teams-custom-field-team">
                        <customfieldname>Team</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[26]]></customfieldvalue>

                        </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>
                                                                                                                                                                                                            <customfield id="customfield_13933" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Urgency (resolution)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15724"><![CDATA[Normal]]></customfieldvalue>

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