License and Permission Assignments - Skuid Docs

文章推薦指數: 80 %
投票人數:10人

User Licensing / Permissions. This area contains links to Salesforce setup pages that allow you to manually assign Skuid licenses and permission sets. By ... ☰ X ConceptsReferenceSiteAdministrationTutorialsReleaseNotes v14.4.11 2 False Version:v14.4.11 APIVersion:v2 ConceptsDataAuthenticationProvidersandDataSourcesAuthenticationandSkuidCallbackURLs/RedirectURIsDataSourceObjectsGoogleGoogleCalendarGoogleDriveSalesforceSQLRESTRESTAPIUseCase:Create,updateanddeleterecordsfromOracleURLMergeConditionExampleODataCreate,update,anddeleterecordsfromSQLServerTroubleshootingBuildTheAppComposerThePageIndexContextPagesAPIVersioninginSkuidv2PageAPIMigrationUtilityCreateandCustomizeSkuidPagesCreateaMasterandChildPagePageRevisionsOptimizePagesPagePacksModulesPageParametersModelsCreateandConfigureModelsModelConditionsLimitRecordswithaSubqueryConditionModelActionsIncludeChildFieldsinaParentObjectAggregateModelsAggregationsinTableandChartComponentsAnAggregationCaseStudyUsingFieldsUI-OnlyFieldsandModelsUI-OnlyFieldUseCasesFieldMetadataOverridesComponentsLayoutAccordionButtonSetCreateaShow/HideToggleButtonMastheadNavigationResponsiveGridTabContainerTabSetVerticalNavigationWizardCreateaNewAccountWizardWrapperDataCalendarDeckFileUploadFilterSetFormHeaderImageAddaRecord-SensitiveImageListMessageAreaSearchCreatingSearchFormandSearchResultsPagesTableTextAdvancedChatterFeedPageIncludeVisualizationsBeforeYouChartChartGeochartEnhancingChartswithActionsComponentAccessoriesAddDrawerstoaTableorListModalsUseaModaltoCreateNewRecordsSlidingPanelsSortBuilderDisplayLogicUploadandManageComponentPacksBestPracticesPagePerformanceGuideSkuidandSalesforceLightningPerformanceTipsWorkingwithImagesDebuggingSkuidintheConsoleLogicFiltersFilteronDateRangesFilteronNumericRangesCreateaSelectableFilterUseSelectoptiontoFilteronDateRangesUseSelectoptiontoFilteronaNumberRangeUseSelectoptionwithBuilder-generatedOptionsUseSelectoptionwithMultipleConditionsandFieldsCreateaToggleFilterFilterbyRelatedObjectsActionFrameworkActionsReferenceVisualNavigationModelConditions/QueryingActionsModelDataChangesActionsDataSourceSpecificActionsPlatformActionsLogicActionsVoiceActionsComponent-ContextActionsActionSequencesInputsHow-To:ActivateandSetaConditionandRequeryModelMergeSyntaxGlobalMergeVariables/FunctionsRowMergeVariablesCalendarMergeVariablesDatasourceMergeAPIReferenceStyleUsetheDesignSystemStudioPropertyReferenceFontsintheDesignSystemStudioExtendingDesignSystemswithCodeLabelLocalizationDeploySalesforceLightningSalesforceClassicskuid:pageVisualforcecomponentSalesforceDashboardsForce.comSitesPageAssignmentsSalesforceCommunitiesSandboxesandConnectedOrgsLicenseandPermissionAssignmentsISVandManagedPackagesSkuidandtheSalesforceGuestUserExtendSkuidandCodeSkuidandJavaScriptResourceTypesUICodeCustomFieldRenderersBasicelement-basedfieldrendererBasicvirtual-basedfieldrendererNativeDateRendererjQueryMaskRatingsIconsEmbeddedYouTubePlayerSalesforceLanguagesSkuidandApexApexTriggersInvocableMethodsandtheApexDataSourceActionRemoteActionsAccessApexasaRESTdatasourceAccessWebServicesusingtheAJAXToolkitSkuidandAuraSkuidandAnalyticsCI/CDwithSkuidAutomatedTestingExampleAutomatedTestwithNode.js,Selenium,andJasmineReferenceThePropertyLibraryAPIReferenceskuid.debugskuid.runtimeskuid.$skuid.actionsskuid.ajaxskuid.builder.coreskuid.builder.core.corePropsskuid.calendarskuid.collaborationskuid.componentskuid.componentTypeskuid.eventsskuid.formulaskuid.hotkeysskuid.labelskuid.lightningskuid.loadskuid.modelskuid.model.Modelskuid.mustacheskuid.pageskuid.sfdcskuid.snippetskuid.timeskuid.utilsskuid.versionComponent-SpecificAPIsSkuidModelMetadataObjectSkuidModelChildRelationshipMetadataObjectSkuidModelConditionMetadataObjectSkuidModelFieldMetadataObjectSkuidModelRecordTypeMetadataObjectPageXMLAPIskuid-sfdxSkuidMetadataObjectReferenceAuthenticationprovidersDatasourcesDesignSystemsFilesPagesThemesSkuidGlossaryFormulaandFunctionReferenceOpenSourceSoftwareAttributionsSiteAdministrationInstallandUpgradeSkuidonSalesforceUpgradingSkuidonSalesforceDeprecatedinSkuidContentDeliveryNetworkSupportedBrowsersUsingtheKeyboard:Shortcuts,Hotkeys,andAccessibilitySkuidVPATforv2TutorialsSkuidPageTutorialsComposeaBrandedHeaderandNavigationComposeaOne-PageAppUsingTabActionsandConditionalRenderingConditionallyDisplayFieldsHighlightCriticalData:Wrappers,RichText,andUi-OnlyFieldsMassCreateRecordsShowProductsinanOpportunityPageSkuidPagesforstandardSalesforceCRMSalesforceTutorialsAddProductLineItemstoOpportunitieswithaPopupAddGmailtoSalesforcefunctionalityinyouremailfieldsCreateaCustomEditPageandSetVisualforceOverridesGettingHelp:GrantSkuidLoginRightstoyourOrgReclaimtheSalesforceHomePageJavaScriptTutorialsUsingSkuidwithJavaScript:APrimerLegaltermsandconditionsSkuidforSalesforceEvaluationGuideOverview​WhatIsSkuid?WhatarethebenefitsofSkuid?HowdoesSkuidmaximizemySalesforceinvestment?WhenisSkuidagoodfit?WhenisSkuidnotagoodfit?WhousesSkuid?Whatdocustomerssayaboutus?WhatstepsdoesSkuidtaketoensurecompatibilitywithfutureSalesforcereleases?DevelopingAppswithSkuid​TheScalableKitforUserInterfaceDesign(Skuid)ModelsUIcomponentsTheActionFrameworkDisplayLogicEventSystemDesignSystemStudioCodeExtensionTheSalesforceEcosystem​DoesSkuidworkwithLightning?DoesSkuidworkwithSalesforceExperienceCloud?IsSkuidcompatiblewithotherAppExchangeapps?WhatSalesforceproductsandservicesdoesSkuidsupport?MobileAppLifecycleManagement​CanIbuildwithSkuidindifferentproductionenvironments?CanmyentireteamdevelopwithSkuid?HowdoesSkuidfitintomycompany’sCI/CDpractices?Analytics​DoesSkuidworkwithmythird-partyanalyticssoftware?DoesSkuidworkwithEinsteinAnalytics?BuildyourownanalyticstrackerwithSkuidArchitecture​SkuidonSalesforceArchitectureHowdoesSkuidwork?HowdoesSkuidgetdataanddoesSkuidconsumeAPIcalls?IsSkuidlimitedtoonesObjectorRecordTypeperpage?DoesmySalesforceapplicationhavetobebuiltcompletelyfromSkuid?HowdoesSkuidworkwithSalesforceProcessautomationandvalidation?Lightning​HowdoSkuidpagesworkinLightning?WhereelseinLightningcanIuseSkuid?CanIuseLightningcomponentsinSkuidpages?SalesforceClassic​HowdoSkuidpagesworkinSalesforceClassic?WhereelseinClassiccanIuseSkuid?WhathappensifIneedtomigratetoLightningafterbuildingwithSkuidinClassic?Data​SkuidandtheSalesforcedatamodelCanSkuidAccess…​Objects?ObjectRelationships?Salesforcefieldtypes?Customsettings?Custommetadata?BigObjects?ExternalObjects?OtherSalesforceOrgs?Security​DoesSkuidstoremySalesforceorthird-partydata?HowdoesSkuidworkwithSalesforcepermissionsets,sharingrules,field-levelsecurity,andprofiles?DoesSkuidoverrideSalesforcevalidationrulesanderrormessages?WhatsecuritycertificationsdoesSkuidhave?Performance​DoesSkuidhavedatalimits?HowcanSkuidbuildersoptimizeforpageperformance? LicenseandPermissionAssignments TheLicensing/Permissionsscreen UserLicensing/Permissions OrgDefaults Packagelicenses Permissionsets Profile-specificSettings OtherAssignmentMethods MassassignlicensesusingDataLoader AnonymousApexscript:MassAssigntheSkuidPageViewerPermissionSet AssignaSkuidpermissionsettoallactiveSFDC/AULlicenses AssignaSkuidpermissionsettoallactiveSkuidlicensees OtherConsiderations SkuidSamplePage:LicenseManagement Non-Skuiduserswillstillaccessstandardlayouts UserwithaSkuidSubscription UserwithoutaSkuidSubscription InSalesforceSetup,makePagesandPageAssignmentsPublicReadOnly ChangetheDefaultAccessforPageandPageAssignmentto“PublicReadOnly”andthenclickSave. Troubleshooting Potentialerrormessages IfyouhaveotherApextriggers TroubleviewingpagesinSkuidonSalesforce? Showallsections Collapseallsections SearchTermHighlighting:On Version:v14.4.11 APIVersion:v2 InThisSection ConceptsDataAuthenticationProvidersandDataSourcesAuthenticationandSkuidCallbackURLs/RedirectURIsDataSourceObjectsGoogleGoogleCalendarGoogleDriveSalesforceSQLRESTRESTAPIUseCase:Create,updateanddeleterecordsfromOracleURLMergeConditionExampleODataCreate,update,anddeleterecordsfromSQLServerTroubleshootingBuildTheAppComposerThePageIndexContextPagesAPIVersioninginSkuidv2PageAPIMigrationUtilityCreateandCustomizeSkuidPagesCreateaMasterandChildPagePageRevisionsOptimizePagesPagePacksModulesPageParametersModelsCreateandConfigureModelsModelConditionsLimitRecordswithaSubqueryConditionModelActionsIncludeChildFieldsinaParentObjectAggregateModelsAggregationsinTableandChartComponentsAnAggregationCaseStudyUsingFieldsUI-OnlyFieldsandModelsUI-OnlyFieldUseCasesFieldMetadataOverridesComponentsLayoutAccordionButtonSetCreateaShow/HideToggleButtonMastheadNavigationResponsiveGridTabContainerTabSetVerticalNavigationWizardCreateaNewAccountWizardWrapperDataCalendarDeckFileUploadFilterSetFormHeaderImageAddaRecord-SensitiveImageListMessageAreaSearchCreatingSearchFormandSearchResultsPagesTableTextAdvancedChatterFeedPageIncludeVisualizationsBeforeYouChartChartGeochartEnhancingChartswithActionsComponentAccessoriesAddDrawerstoaTableorListModalsUseaModaltoCreateNewRecordsSlidingPanelsSortBuilderDisplayLogicUploadandManageComponentPacksBestPracticesPagePerformanceGuideSkuidandSalesforceLightningPerformanceTipsWorkingwithImagesDebuggingSkuidintheConsoleLogicFiltersFilteronDateRangesFilteronNumericRangesCreateaSelectableFilterUseSelectoptiontoFilteronDateRangesUseSelectoptiontoFilteronaNumberRangeUseSelectoptionwithBuilder-generatedOptionsUseSelectoptionwithMultipleConditionsandFieldsCreateaToggleFilterFilterbyRelatedObjectsActionFrameworkActionsReferenceVisualNavigationModelConditions/QueryingActionsModelDataChangesActionsDataSourceSpecificActionsPlatformActionsLogicActionsVoiceActionsComponent-ContextActionsActionSequencesInputsHow-To:ActivateandSetaConditionandRequeryModelMergeSyntaxGlobalMergeVariables/FunctionsRowMergeVariablesCalendarMergeVariablesDatasourceMergeAPIReferenceStyleUsetheDesignSystemStudioPropertyReferenceFontsintheDesignSystemStudioExtendingDesignSystemswithCodeLabelLocalizationDeploySalesforceLightningSalesforceClassicskuid:pageVisualforcecomponentSalesforceDashboardsForce.comSitesPageAssignmentsSalesforceCommunitiesSandboxesandConnectedOrgsLicenseandPermissionAssignmentsISVandManagedPackagesSkuidandtheSalesforceGuestUserExtendSkuidandCodeSkuidandJavaScriptResourceTypesUICodeCustomFieldRenderersBasicelement-basedfieldrendererBasicvirtual-basedfieldrendererNativeDateRendererjQueryMaskRatingsIconsEmbeddedYouTubePlayerSalesforceLanguagesSkuidandApexApexTriggersInvocableMethodsandtheApexDataSourceActionRemoteActionsAccessApexasaRESTdatasourceAccessWebServicesusingtheAJAXToolkitSkuidandAuraSkuidandAnalyticsCI/CDwithSkuidAutomatedTestingExampleAutomatedTestwithNode.js,Selenium,andJasmineReferenceThePropertyLibraryAPIReferenceskuid.debugskuid.runtimeskuid.$skuid.actionsskuid.ajaxskuid.builder.coreskuid.builder.core.corePropsskuid.calendarskuid.collaborationskuid.componentskuid.componentTypeskuid.eventsskuid.formulaskuid.hotkeysskuid.labelskuid.lightningskuid.loadskuid.modelskuid.model.Modelskuid.mustacheskuid.pageskuid.sfdcskuid.snippetskuid.timeskuid.utilsskuid.versionComponent-SpecificAPIsSkuidModelMetadataObjectSkuidModelChildRelationshipMetadataObjectSkuidModelConditionMetadataObjectSkuidModelFieldMetadataObjectSkuidModelRecordTypeMetadataObjectPageXMLAPIskuid-sfdxSkuidMetadataObjectReferenceAuthenticationprovidersDatasourcesDesignSystemsFilesPagesThemesSkuidGlossaryFormulaandFunctionReferenceOpenSourceSoftwareAttributionsSiteAdministrationInstallandUpgradeSkuidonSalesforceUpgradingSkuidonSalesforceDeprecatedinSkuidContentDeliveryNetworkSupportedBrowsersUsingtheKeyboard:Shortcuts,Hotkeys,andAccessibilitySkuidVPATforv2TutorialsSkuidPageTutorialsComposeaBrandedHeaderandNavigationComposeaOne-PageAppUsingTabActionsandConditionalRenderingConditionallyDisplayFieldsHighlightCriticalData:Wrappers,RichText,andUi-OnlyFieldsMassCreateRecordsShowProductsinanOpportunityPageSkuidPagesforstandardSalesforceCRMSalesforceTutorialsAddProductLineItemstoOpportunitieswithaPopupAddGmailtoSalesforcefunctionalityinyouremailfieldsCreateaCustomEditPageandSetVisualforceOverridesGettingHelp:GrantSkuidLoginRightstoyourOrgReclaimtheSalesforceHomePageJavaScriptTutorialsUsingSkuidwithJavaScript:APrimerLegaltermsandconditionsSkuidforSalesforceEvaluationGuideOverview​WhatIsSkuid?WhatarethebenefitsofSkuid?HowdoesSkuidmaximizemySalesforceinvestment?WhenisSkuidagoodfit?WhenisSkuidnotagoodfit?WhousesSkuid?Whatdocustomerssayaboutus?WhatstepsdoesSkuidtaketoensurecompatibilitywithfutureSalesforcereleases?DevelopingAppswithSkuid​TheScalableKitforUserInterfaceDesign(Skuid)ModelsUIcomponentsTheActionFrameworkDisplayLogicEventSystemDesignSystemStudioCodeExtensionTheSalesforceEcosystem​DoesSkuidworkwithLightning?DoesSkuidworkwithSalesforceExperienceCloud?IsSkuidcompatiblewithotherAppExchangeapps?WhatSalesforceproductsandservicesdoesSkuidsupport?MobileAppLifecycleManagement​CanIbuildwithSkuidindifferentproductionenvironments?CanmyentireteamdevelopwithSkuid?HowdoesSkuidfitintomycompany’sCI/CDpractices?Analytics​DoesSkuidworkwithmythird-partyanalyticssoftware?DoesSkuidworkwithEinsteinAnalytics?BuildyourownanalyticstrackerwithSkuidArchitecture​SkuidonSalesforceArchitectureHowdoesSkuidwork?HowdoesSkuidgetdataanddoesSkuidconsumeAPIcalls?IsSkuidlimitedtoonesObjectorRecordTypeperpage?DoesmySalesforceapplicationhavetobebuiltcompletelyfromSkuid?HowdoesSkuidworkwithSalesforceProcessautomationandvalidation?Lightning​HowdoSkuidpagesworkinLightning?WhereelseinLightningcanIuseSkuid?CanIuseLightningcomponentsinSkuidpages?SalesforceClassic​HowdoSkuidpagesworkinSalesforceClassic?WhereelseinClassiccanIuseSkuid?WhathappensifIneedtomigratetoLightningafterbuildingwithSkuidinClassic?Data​SkuidandtheSalesforcedatamodelCanSkuidAccess…​Objects?ObjectRelationships?Salesforcefieldtypes?Customsettings?Custommetadata?BigObjects?ExternalObjects?OtherSalesforceOrgs?Security​DoesSkuidstoremySalesforceorthird-partydata?HowdoesSkuidworkwithSalesforcepermissionsets,sharingrules,field-levelsecurity,andprofiles?DoesSkuidoverrideSalesforcevalidationrulesanderrormessages?WhatsecuritycertificationsdoesSkuidhave?Performance​DoesSkuidhavedatalimits?HowcanSkuidbuildersoptimizeforpageperformance? InThisTopic LicenseandPermissionAssignments TheLicensing/Permissionsscreen UserLicensing/Permissions OrgDefaults Packagelicenses Permissionsets Profile-specificSettings OtherAssignmentMethods MassassignlicensesusingDataLoader AnonymousApexscript:MassAssigntheSkuidPageViewerPermissionSet AssignaSkuidpermissionsettoallactiveSFDC/AULlicenses AssignaSkuidpermissionsettoallactiveSkuidlicensees OtherConsiderations SkuidSamplePage:LicenseManagement Non-Skuiduserswillstillaccessstandardlayouts UserwithaSkuidSubscription UserwithoutaSkuidSubscription InSalesforceSetup,makePagesandPageAssignmentsPublicReadOnly ChangetheDefaultAccessforPageandPageAssignmentto“PublicReadOnly”andthenclickSave. Troubleshooting Potentialerrormessages IfyouhaveotherApextriggers TroubleviewingpagesinSkuidonSalesforce? LicenseandPermissionAssignments¶ Note WithintheSalesforceuniverse,theterm“Skuidlicense”referstoauser’sabilitytointeractwithSkuid.WhiletheSkuidUIreflectsthisterminologytoavoidconfusion,the“numberofSkuidlicenses”youhavereferstopurchasedSkuidsubscriptions. AnyenduserwhowillbeviewingSkuidneedstobeassignedaSkuidlicenseandtheSkuidPageViewerpermissionset.AnyuserwhowillbeeditingSkuidPagesneedstobeassignedtheSkuidPageBuilderPermissionset. Warning WhenusingSkuidasaSalesforcemanagedpackage(SkuidonSalesforce),alllicensedSkuidusersmustalsohaveavalidSalesforcelicense. LikeanyotherSalesforceCustomObjects,youcanconfiguresecurity,sharingandpermissionsfortheSkuidPageandPageAssignmentobjects.Werecommendyouconfigurethesharingsettingfortheseobjectstopublicreadonly. TheSkuidPageViewerpermissionsetletsendusersreadPagesandPageAssignments. TheSkuidPageBuilderpermissionsetletsendusersread,create,editanddeletePages,PageAssignments,PageRevisions,andotherobjectsintheSkuidpackage. TheSkuidAdminpermissionsetgivesusersthesameoptionsastheSkuidPageBuilderpermissionset,andalsoallowsaccesstheXMLEditoronSkuidpages. Outofthebox,noneofthesepermissionsetshaveViewAllandModifyAllpermissionsontheseobjects. Warning It’simportanttoutilizeasandboxenvironmenttotestallaspectsofyourSkuidconfiguration,andthisincludeslicenseassignments.Bydefault,Salesforceassignsasitelicenseinsandboxorgs—meaningassigningindividuallicensesisnotpossible. Toaccuratelytesthowautomaticallyassigninglicensescouldaffectyourconfiguration,pleasecontactsalesops@skuid.comtolimityoursandboxlicensestoaspecificnumberofusers—allowingyoutoassignandtestproperly. TheLicensing/Permissionsscreen¶ ToaccessSkuid’slicenseandpermissionsettools,navigatetoSettings>Licensing/Permissions.Thisscreenismadeupofseveralsections,themostimportantofwhichallowforauto-assigningandauto-revokingoflicensesandpermissionsets. Therearetwoprimarywaysofsettingassign/revocationrulesforlicensesandpermissionsetsinSkuid: Wheneverauserinyourorgiscreated/activated/deactivated(ConfiguredintheOrgDefaultssection) Wheneveraauserwithaspecificprofileiscreated/activated/deactivatedinyourorg(ConfiguredasmultiplerulesintheProfile-specificsettingssection) Note ChangesmadetoaSalesforceuserotherthancreating/activating/deactivatingwillnotbereflectedinthatuser’slicensingorpermissionssettingsinSkuid. UserLicensing/Permissions¶ ThisareacontainslinkstoSalesforcesetuppagesthatallowyoutomanuallyassignSkuidlicensesandpermissionsets. Byvisitingtheselinks(ornavigatingtheSalesforcesetupUI),youmayassignSkuid’snecessarypermissionsetstosingleusersortomultipleusersasnotedinSalesforcedocumentation. OrgDefaults¶ Thisareacontainstooltomanageauto-assigningorauto-revokinglicensesandpermissionsetsfromallnewusersoralldeactivatedusers. Packagelicenses¶ Toauto-assignlicensestoanyuserwhentheyarecreated/activated: EnableAutoAssignLicensesonActivation. ClickthePackagestoAuto-AssignLicensestosettingtopickoneormorepackagelicensestoassign. Thismeansyoucanauto-assignlicensestoSkuidandanyotherpackageslistedinthedropdownmenu. Toauto-revokelicensesofdeactivatedusers: EnableAutoRevokeLicensesonDeactivation. ClickthePackagestoAuto-RevokeLicensestosettingtopickoneormorepackagelicensestorevoke. Thismeansyoucanauto-revokelicensestoSkuidandanyotherpackageslistedinthedropdownmenu. Permissionsets¶ Toauto-assignpermissionsetstoanyuserwhentheyarecreated/activated: EnableAutoAssignPermSetsonActivation. ClickthePermissionSetstoAuto-Assignsettingtopickoneormorepermissionsetstoassign. Thismeansyoucanauto-assignSkuid’sownnecessarypermissionsetsandanyotherpermissionsetslistedinthedropdownmenu. Toauto-revokepermissionsetsofdeactivatedusers: EnableAutoRevokePermSetsonDeactivation. ClickthePermissionSetstoAuto-Revokesettingtopickoneormorepermissionsetstoassign. Thismeansyoucanauto-revokeSkuid’sownnecessarypermissionsetsandanyotherpermissionsetslistedinthedropdownmenu. Profile-specificSettings¶ Ifyouwanttospecifywhichlicensesandpermissionsetsareauto-assigned/revokedtospecificprofiles,youcandosobyaddingprofile-specificrulesinthissection. Onceyousetupaprofile-specificrule,theselectedlicenses/permissionsetsareauto-assigned/revokedwhenanyuserwiththatprofileiscreated/activated/deactivatedinyourorg. Note Itispossibletouseprofile-specificsettingsinsteadoforinadditiontoorgdefaults. Toaddaprofile-specificrule: ClickAddwithintheProfile-specificsettingssection. StarttypingthenameofoneofyourSalesforceprofilesandselectitfromthelist. Checktheboxesofthethingsyouwanttobeauto-assigned/revoked. TheoptionsavailableinthemodalmirrorthosedescribedintheOrgDefaultssection. ClickAddtosavetherule. OtherAssignmentMethods¶ MassassignlicensesusingDataLoader¶ It’salsopossibletomassassignlicensestoanumberofendusersthroughSalesforce’sDataLoadertool.Thiscanbeespeciallyusefulforaninitialrollout,whereauto-assgininglicensesmaynothelpsinceusersarealreadyactivated. Formoreinformation,seeSalesforce’sknowledgearticle. AnonymousApexscript:MassAssigntheSkuidPageViewerPermissionSet¶ Warning Thescriptsbelowareonlyexamplesofhowthiscanbedone.WerecommendhavinganadminfluentinApexmodifythisscriptforyourorg’sneeds.Andassuch,theinsertassnstatementmustbeuncommentedforthescriptstotakeeffect. Usingthisscriptwithoutunderstandingitsimpactcouldhaveunintendedconsequences.Useatyourownrisk. AssignaSkuidpermissionsettoallactiveSFDC/AULlicenses¶ ThisanonymousApexscriptcanberunbyanadmintohelpmassassigntheSkuidPageViewerPermissionSettoallactiveSalesforcelicensed-userswhodonotalreadyhavethepermissionset.Besurethatthisiswhatyouwanttodobeforeusingthisscript. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26//////////////////////////////////////////////////////////////// //AssignaSkuidPermissionSettoallactiveSFDC/AULlicenses //////////////////////////////////////////////////////////////// PermissionSetps=[SELECTId,NameFROMPermissionSetWHEREName='Skuid_Page_Viewer'limit1]; Listassn=newList(); Listusers=[ SELECTId FROMUser WHEREIdNOTIN(SELECTAssigneeIdFROMPermissionSetAssignmentWHEREPermissionSetId=:ps.Id) ANDProfile.UserLicense.LicenseDefinitionKeyIN('AUL','SFDC') ANDIsActive=true LIMIT10000 ]; for(Useru:users){ assn.add(newPermissionSetAssignment( AssigneeId=u.Id, PermissionSetId=ps.Id )); } //system.assert(false,assn.size()); try{ //insertassn; system.debug('PermissionSetsAssigned=>'+assn.size()); }catch(Exceptionex){ system.assert(false,ex.getMessage()); } AssignaSkuidpermissionsettoallactiveSkuidlicensees¶ ThefollowingcodeassignspermissionsetstoallusersassignedaSkuidlicensewhodonotalreadyhavethepermissionset.Remember,testandadjustthecodetomeetyourneeds. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31////////////////////////////////////////////////////////////// //AssignaSkuidPermissionSettoallactiveSkuidlicensees ////////////////////////////////////////////////////////////// PermissionSetps=[SELECTId,NameFROMPermissionSetWHEREName='Skuid_Page_Viewer'limit1]; Listassn=newList(); StringAPP_NAMESPACE_PREFIX='skuid'; Listusers=[ SELECTId FROMUser WHEREIdNOTIN(SELECTAssigneeIdFROMPermissionSetAssignmentWHEREPermissionSetId=:ps.Id) ANDIdIN( SELECTUserId FROMUserPackageLicense WHEREPackageLicense.NamespacePrefix=:APP_NAMESPACE_PREFIX ) ANDIsActive=true LIMIT10000 ]; for(Useru:users){ assn.add(newPermissionSetAssignment( AssigneeId=u.Id, PermissionSetId=ps.Id )); } //system.assert(false,assn.size()); try{ //insertassn; system.debug('PermissionSetsAssigned=>'+assn.size()); }catch(Exceptionex){ system.assert(false,ex.getMessage()); } OtherConsiderations¶ SkuidSamplePage:LicenseManagement¶ IfyoucommonlyneedtoseeanoverviewofactiveSkuidlicenseswithinyourorg,considerimplementingthisLicenseManagementsamplepageinyourSalesforceorg. Non-Skuiduserswillstillaccessstandardlayouts¶ IfyouusethetutorialsforoverridingtabsinSalesforce,(eitherusingpageassignmentsordirectvisualforcepageoverrides)userswithoutSkuidlicensesorprivilegeswillstillbeabletoaccessthestandardsalesforcelayouts. UserwithaSkuidSubscription¶ WhenyouoverridestandardSalesforcepageswithyourownSkuidifiedone,auserwhohasaSkuidsubscriptionwillseeaSkuidpage: UserwithoutaSkuidSubscription¶ UsersthatdonothaveSkuidsubscriptionswillseethestandardSalesforceLayout InSalesforceSetup,makePagesandPageAssignmentsPublicReadOnly¶ ChangetheDefaultAccessforPageandPageAssignmentto“PublicReadOnly”andthenclickSave.¶ WerecommendthatyousettheDefaultAccessforthePage,andPageAssignmentobjectstoPublicReadOnly. Troubleshooting¶ Ifyouaremakinguser-levelchangesinSaleforce,yetthelicenseandpermissionsetsstipulatedinyourOrganization-wideDefaultsorProfile-specificSettingsarenotcorrectlybeingassignedorrevokedfromtheuser,notethatSkuid’sOrganization-wideDefaultsandProfile-specificSettingsareassigneduponthecreation,activation,ordeactivationofauser.Noothertypesofuserchangeswilltriggerthisautomaticassignment/revocationoflicenseandpermissionsets. IfyouwishtomakeothertypesofchangestoauserinSalesforce,andwanttoalsochangetheirSkuidlicensingorpermissionsets: IntheUserDetailpage,deactivatetheuser. MakethechangesandSave. Reactivatetheuserwiththenewsettings. IfyouneedtomanuallyremoveoraddSkuidlicenses,youcandosobyfollowingtheprocessoutlinedbySalesforceforassigninglicensesformanagedpackages.YouwillalsoneedtomanuallyaddandremovetheSkuidpermissionsetsforthoseindividuals. Potentialerrormessages¶ SObjectrowwasretrievedviaSOQLwithoutqueryingtherequestedfield:skuid__Page__c.skuid__MasterPage__r Anunexpectederrorhasoccurred.Yoursolutionproviderhasbeennotified. ThisoftenshowsifauserdoesnothavetheSkuidPageViewerpermissionset.Ifabuilderseesthismessage,verifytheyhavetheSkuidPageViewerpermissionsetassignedtothem. It’spossibleforabuildertoseeavarietyoffieldrelationshiprequesterrorsintheComposeriftheSkuidPageBuilderisnotassigned.Ifabuilderseeserrormessagessimilartotheshortenedexamplesbelow,verifytheyhavetheSkuidPageBuilderpermissionsetassignedtothem. ASkuidModel,'page',requestedaFieldwithrelationshipname... ASkuidModel,'pageBuilder_SelectedVersion',requestedaFieldwithrelationshipname... ASkuidModel,'pgs__NewPage',requestedaFieldwithrelationshipname... ASkuidModel,'versions',requestedaFieldwithrelationshipname... ASkuidModel,'ClonePageData',requestedaFieldwithrelationshipname... IfyouhaveotherApextriggers¶ DuetoSalesforcerestrictionsregardingsetupobjectoperations,Skuid’striggersmaynotfunctionwellincombinationwithotheruser-creationtriggers.IfSkuid’striggersandyourtriggersaregroupedasasingletransaction,youmayseeunexpectedbehaviorsoryourlicensesandpermissionsmaynotassignproperly. Ifyouhaveexistinguser-creationtriggers,orwishtoimplementadditionaltriggers,consideroneofthefollowingalternatives: Ifyou“ownthecode”fortheadditionaltriggers,considerplacingsetupobjectDMLstatementswithinfuturemethodstoensurethattheyrunwithinaseparatetransaction. Ifyoudonotwishtousefuturemethods,considerwritingyourownauto-licensingandpermissiongrantingfunctionalityintoneworexistingfunctions.Thiswillgiveyougreatercontroloverhowandwhenlicensesareassignedandwillreducethelikelihoodofundesiredresults. TroubleviewingpagesinSkuidonSalesforce?¶ You’vecreatedanapp,builtmulti-featuredpages,anddeployedtogiveyourusersaccess.(Congratulations!)Except…theycan’tseethepages.What’supwiththat? Belowareafewissuesthatmightbepreventingauserfromviewingpages. IstheuserassignedaSkuidlicenseorsubscription? Note SomeusershavemorethanoneUserID;makesuretheonetheyareusingtoaccessthepageisincludedinthelistofLicensedSkuidusers: IntheSalesforceSetuppane,navigatetoBuild>InstalledPackages. DoestheUserhaveSkuidinstalled? Dotheyhavethecorrectversioninstalled? ToseewhichIDsarelicensedtouseSkuidintheuser’sdevorg,clickManageLicense. Managinglicensesinsandboxes InSalesforcesandboxorgs,youaregivenasitelicense,whichmeansthere’snoneedtoassignlicensestosandboxusers.However,whenyoudeploytoaproductionorg,it’scriticaltomakesureallintendedusershaveSkuidlicenses.Userswhowereabletoaccessthepageinthesandboxwillnotbeabletoseeitinproductionunlesstheyhaveanassignedlicense/subscription. PrefertolimityourSkuidlicensesinasandbox,tomoreaccuratelytestyourdeployment?Doingsoallowsyoutoassignandtestlicensesforamorerealisticviewofhowyourlicensingassignmentsworkwithinyourconfiguration.Tolimitlicenses,[email protected],withyoursandboxorgIDandthenumberoflicensesyou’dliketoactivateforthatorg. Doestheuserhavethecorrectpermissionset? ToviewaSkuidpage,theyneedtohavetheSkuidPageViewerPermissionsetenabled. IntheSalesforceSetuppane,navigatetoAdminister>ManageUsers>Users. Clickontheappropriateuser UnderPermissionSetAssignments,checktoseethattheyhaveSkuidPageViewerassigned. Ifnot,clickEditAssignments: SelecttheSkuidPageViewpermissionsetfromtheAvailablePermissionSetslistontheleftandusetheAdd/RemovebuttonstoaddthemtotheEnabledPermissionSetslistontheright. AretheSkuidpagespublic? Ifthepageisnotpublic,onlydesignatedprofiles,suchasotherAdmins,canseeit. Note:Skuidpagesandpageassignmentsare,bydefault,alwaysprivate.Unlessyouchangedthissettingwhenyouwerebuildingpagesinthesandbox,deployedpagesandpageassignmentswillalwaysneedtobemadepublic. IntheSalesforceSetuppane,navigatetoAdminister>SecurityControls>SharingSettings. UnderSharingSettings,checkthatPageandPageAssignmentarebothsettoPublicReadOnly. Ifnot,clickEdit: UpdatethesettingsforPageandPageAssignment. ClickSave. Doestheuser’sprofilehaveaccesstotheVisualForcepagesassociatedwiththeSkuidpages? ToviewaSkuidpage,theyneedtohavetheSkuidViewerPermissionset. IntheSalesforceSetuppane,navigatetoAdminister>ManageUsers>Profiles. Clickontheappropriateprofile(s) EnabledVisualforcePageAccess,checktoseethatthepage(s)areenable. Ifnot,clickEdit: Selectthepage(s)fromtheAvailableVisualforcePageslistontheleftandusetheAdd/RemovebuttonstoaddthemtotheEnabledVisualforcePageslistontheright. Doestheuser’sprofilehaveappropriateaccesstotheobjectsorentities? IntheSalesforceSetuppane,navigatetoAdminister>ManageUsers>PermissionSets. IntheFindSettingssearchfieldatthetop,enterthenameoftheobjectandselectitfromthedropdownlist. ClickEdit. ScrolltoObjectPermissionsand(Standard,Custom,and/orExternal,dependingupontheobjectyouaregivingpermissionsto)andselectthepermissionsforthatobject. ClickSave. Havepageassignmentsbeensetupcorrectly,andbuttonsandlinksbeenover-ridden? Needhelpwiththis?CheckoutthetopiconPageAssignments.



請為這篇文章評分?