[SalesForce] Retrieve ExperienceBundle not working for one Community but working for another

I should say at the start, I'm not very experienced with Communities.

I'm struggling to find a problem with retrieving the source of a Lightning Community as ExperienceBundle. I've activated the ExperienceBundle Metadata API setting in Communities Settings.

When looking though the Org Browser I can see the 2 Communities we have in the org, but downloading only ever retrieves one of them. I tried source:retrieve using -m and -p and both only for for one of the communities. I tried activating the setting and retrieving from multiple Sandboxes with the same problems.

enter image description here

Even though I can see the community listed in the ExperienceBundles in the OrgBrowser, if I tried to retrieve the result is "no results found". While doing the same for the other community does work.

enter image description here

The only difference I see is that the one community which I can retrieve is in "preview" and the one which I cannot is "active". But even after activating both communities, the same problem continues. The communities are both Lightning Community with the same Template.
In the OrgBrowser view I can see that one of them is showing up as COMMUNITY_NAME1 (downloads ok) and COMMUNITY_NAME_C (doesn't download).

The below note in the docs makes me suspicuous, but I can't figure out whether that's the issue. The community I am able to download does indeed specifiy "ChatterNetworkPicasso" in the meta.xml file. But I'm not sure how to find out for the one I don't manage to download, whether that's the case. Anything that I can see seems to be the same for both the communities. (Site, Network, going though the builder and workspaces, ..)
enter image description here

Looking into retrieved sites, both the corresponsing sites have <siteType>ChatterNetwork</siteType>.

The SiteDotCom meta file for the community looks like this

<?xml version="1.0" encoding="UTF-8"?>
<SiteDotCom xmlns="http://soap.sforce.com/2006/04/metadata">
    <label>COMMUNITY_NAME</label>
    <siteType>ChatterNetworkPicasso</siteType>
</SiteDotCom>

Any ideas on what I am missing?

Best Answer

Managed to resolve this issue with the help of Salesforce support. Turns out it's a bug related to the TabSet component. These are the steps to resolve (or rather a workaround) as provided by support:

This behavior is observed when there is any Tabset components in reference.

To fix this please check the below workaround as suggested until the bug is fixed.

  1. Drag and drop a new tabset component to the page and then manually moving the components within each tab of the old tabset component to the new tabset component

  2. Make sure the new tabset component's tabs have the same configuration as the old tabset component (e.g. Publically available checkbox)

  3. Make sure the new tabset component has the same audience assignments as the old one if an audience was assigned.

  4. Manually update the tab names for each language within Experience Builder by using the language switcher on the top right corner of the header.

Please note that if this workaround is used, DO NOT export languages & reimport them because it's the importing of languages that causes the bad data to be inserted for the tabset component.

Apparently, there is no public record of this (known issue or that)

UPDATE 2020-07-01 Had some issues with this again where even the workaround didn't help. But the underlying bug is apparently getting fixed with the Summer '20 release.

Related Topic