I recently transferred a bunch of metadata from one Salesforce Organization Instance to another. To do this, I created a package that contained all the custom objects, web components, apex classes, profiles, etc. Then, using the SFDX extension for VSCode, I pulled this package down via:
sfdx force:source:retrieve -n MyPackage
This pulled down all the metadata I needed, so then I authorized this SFDX project with a new organization instance, and I uploaded this package into the new organization instance. This worked and everything was uploaded properly into the new instance.
The one issue I have ran into, however, is my profile's access to the custom objects. In this new instance, I am operating as the System Administrator
, whereas in the old instance I was operating as a custom profile.
So, to fix this, instead of going field by field through the UI and giving field-level permissions to the System Administrator
from the new Instance, I pulled down the System Administrator
's profile via:
sfdx force:source:retrieve -m "Profile:Admin"
After getting this metadata, I added fieldPermission
metadata blocks for all my custom fields. Each block looks like this:
<fieldPermissions>
<editable>true</editable>
<field>CustomObject__c.customField__c</field>
<readable>true</readable>
</fieldPermissions>
So I gave the System Administrator Read and Edit access to all of these fields. Now, when I look in Salesforce I can SEE the fields in the list views, but I can't see them in the details views and I can't edit them...
These seems really odd to me because
A) Even though I gave edit access to the System Admin, I can't edit them; and,
B) In the old instance, I never created custom layouts for these custom objects, the layout was just whatever was defaulted when the object was created, and I could see these fields in the details
in the old instance, but not the new instance...
What can I do to get this to work correctly?