Skip to main content

Communities Deployment Hell

so
Communities
they are split into multiple things in the backend
a Network
a Site
and some other free floating shit like the guesguest user, profile access, etc.
Network is what you think abouabout whewhen you read Communities
it's where the comm builder etc lives
the Site is how they exposed it to the world. it's a legacy feature wrapped in a new one
the Site as detailed in my longer rant used to be whrewhere you handled translatiostranslations and shit, because OF COURSE tahtthat was a good idea, anyway.
when deploying a community you have a two options
"bundle" it with a Lightning Bundle as they call it, which is basically a template of your communiytcommunity
thisnworksthis works nicely but doesn't invludeinclude aevertyhingeverything about the comm (I forget what exactly but some stuff like branding etc wouldnb'wouldn't get carried over as well as some custom pages)
or pushing the Network and the Site via Changeset or API.
now via API is what Gearset does. The good point of API deployment is that yuyou can target the network siten,site, and related StaticResources and other shit directly
it's easy enough
ththe bad thing is that API deployments rely on the backend structure being sane, which is isn't. Example: if you have two object `REALLYLONGPREFIX_stuff__c ` and `REALLYLONGPREFIX_shit_c ` the backend stores a truncated version of the page
so if you do custom apgespages
this results in you having the pages being possibly misattributed to the other object
or vice versa
or overwriting the other page
at random
everytime
on deploy
Q U A L I T Y.
the API deplpoymentsdeployments are also less fault tolerant than changesets meaning if something's missing it'll jsutjust completleycompletely fail and some of the community errosrerrors are quite arcane
specifically the ones related to Site deployment
so, changesets ?
well changesets aren't much ebtterbetter
you can still get the arcane StieSite deploymentedeployment rrors,errors, thoughnlessthoughtless of them because it resolves some msisingmissing shit on its own for some reaosnreason ????
but what's nice is that the community elements will save in whichever order
so for example
you can completely have a community that'll deploy
but fail because the Asset for the custom logo of the banner is missing
even though you included it in the changeset
so now you gotta deploy the asset alone
and then deploy the community
which will STILL say that the deployment FAILED but show you a green checkbox saayingsaying "deployed successfully"
whcihwhich will actually mean it deployed succesfullysuccessfully ebcausebecause the only failed elements are the Assets.
nope, still not kidding.
now for easy ass acommunitiescommunities yo_uyou mgithgmight get a deplooydeploy that goes well
and SF may hotfix some of those issues
but in the meantime ti'it's better to consider the entire deployment process hell
plan more time for it than eneededneeded
and if it's simple in the end,end well that's aweosme.awesome.