
Andrew Hanna

Andrew Hanna

Kort antwoord: zet permission sets in versiebeheer als de echte bron van waarheid, decomponeer ze zodat twee mensen ze kunnen bewerken zonder merge-conflict, houd profielen dun en behandel elke profieldeployment als een overlay in plaats van een volledige vervanging. Stop daarna bewust met het tracken van wat omgevingsspecifiek is, want het meeste profielverkeer in een repo is ruis die niemand leest.
Twee gedocumenteerde gedragingen maken profielen anders dan elk ander bestand in je repo.
Combineer die twee en hetzelfde profiel levert een andere diff op, afhankelijk van wie het ophaalde en wat er verder in het pakket zat. Daarom zijn profieldiffs de meest bediscussieerde en minst vertrouwde bestanden in de meeste Salesforce-repositories.
Salesforce had aangekondigd dat rechten in profielen vanaf Spring '26 zouden worden uitgefaseerd. Op 6 juni 2026 is die handhaving geannuleerd, met verwijzing naar klantfeedback en resterende functiegaten, terwijl Salesforce een permission-set-gedreven beveiligingsmodel bleef aanbevelen (Salesforce Help).
Praktisch gelezen: de deadline is weg, de richting niet. Profielen blijven ondersteund, dus niemand hoeft in paniek te migreren, maar als je kiest waar je je discipline in versiebeheer investeert, investeer die dan in permission sets. Die zijn additief, ze decomponeren en ze mergen.
Een opgehaalde permission set is een groot XML-bestand met elk object-, veld- en gebruikersrecht. Twee admins die twee ongerelateerde velden aanraken botsen in hetzelfde bestand. Salesforce levert hier een oplossing voor in de CLI: source behavior options die het bestand splitsen in een bestand per rechtengroep (Salesforce DX developer guide).
sf project convert source-behavior --behavior decomposePermissionSetBeta2
--dry-run.
sfdx-project.json wordt bijgewerkt zodat het gedrag
voor iedereen blijft gelden, en de bestaande source wordt ter plekke omgezet.
Hetzelfde mechanisme dekt custom labels, workflows, sharing rules en external service registrations. Let op de leemte: profielen staan niet op de lijst met decomponeerbare typen. Objecten en objectvertalingen decomponeren standaard, de rest is opt-in beta, en profielen blijven een bestand.
De helft van de pijn is zelf veroorzaakt. Dit hoort buiten de repo, of achter een bewuste uitsluiting.
Leg de uitsluitingen vast als regel in de repo, niet als stamkennis in de CLI-historie van een persoon. Een regel die in iemands shell-alias woont, breekt bij de eerste retrieve van een nieuwe collega.
Doe stap drie en vier nooit in dezelfde release. Additieve en subtractieve rechtenwijzigingen hebben totaal verschillende rollbackverhalen, en ze mengen is hoe een maandagochtendlockout ontstaat. Meer release-engineeringplaybooks staan in onze SF Guides-bibliotheek.
Zijn profielen of permission sets de bron van waarheid?
Permission sets. Ze zijn additief, ze decomponeren in mergebare bestanden en Salesforce beveelt een permission-set-gedreven model aan. Houd profielen voor basisinstellingen zoals licentie, standaard recordtypes en page layouts.
Worden rechten in profielen uitgefaseerd?
Nee. De uitfasering die voor Spring '26 gepland stond, is op 6 juni 2026 geannuleerd. Migratie gaat nu op je eigen tempo in plaats van op een deadline.
Waarom verandert mijn profieldiff terwijl ik niets deed?
Omdat een profiel-retrieve alleen instellingen teruggeeft voor de metadata in hetzelfde verzoek. Verander de pakketinhoud en het bestand verandert. Repareer het retrieve-manifest, niet het bestand.
Kunnen profielen net als permission sets gedecomponeerd worden?
Vandaag niet. De source behavior options van de CLI dekken permission sets, custom labels, workflows, sharing rules en external service registrations. Profielen blijven een bestand, wat opnieuw pleit voor dunne profielen.
Vrijblijvend.