This investigation of Sitecore JSS and SXA was done quite a while ago, but I didn’t get a chance to post it here. I need to go back to the validation of this setup so this will be a living post and I’ll be updating as new findings arrive.

You might ask why would you need to mix them, but the reason is pretty simple. SXA brings a lot of functionality outside of presentation configuration (which I’m not a fan of) that can be useful for any site, like site management, wizards for site creation, local data sources, various site settings, etc.

Initial research (Sitecore 9.0.0 + JSS TP3 + SXA 1.5.x)

It is possible to run SXA and JSS side by side, which is a good starting point.

Worked:

  • Data sources work and use queries like:

  • query:$site/[@@name=‘Data’]/[@@templatename=‘Accordion Folder’]

  • query:$sharedSites/[@@name=‘Data’]/[@@templatename=‘Accordion Folder’]

  • Shared sites for data sources work fine

Didn’t work:

  • SXA toolbox does not work in JSS

  • Partial and Page design do not work in JSS by default

  • Page variants don’t work

  • Themes could not be used

  • Styles are applied using e.g.

  • @Html.Sxa().Component(“carousel”, Model.Attributes)

  • Design export doesn’t work nor make sense anymore

  • The control editing event works strangely when the page design is specified

It turns out that a lot of SXA customization could not be used, site creation requires too much clean-up after creation even with all options unchecked. It was possible to use many data templates available in SXA.

To be continued…


Follow me on Twitter @true_shoorik. Would be glad to discuss the ideas above in the comments.