License and Permission Assignments

Note

Within the Salesforce universe, the term “Skuid license” refers to a user’s ability to interact with Skuid. While the Skuid UI reflects this terminology to avoid confusion, the “number of Skuid licenses” you have refers to purchased Skuid subscriptions.

Any user who will be viewing Skuid needs to be assigned a Skuid license and the Skuid Page Viewer permission set. Any user who will be editing Skuid Pages needs to be assigned the Skuid Page Builder Permission set.

Warning

When using Skuid as a Salesforce managed package (Skuid on Salesforce), all licensed Skuid users must also have a valid Salesforce license.

Like any other Salesforce Custom Objects, you can configure security, sharing and permissions for the Skuid Page and Page Assignment objects. We recommend you configure the sharing setting for these objects to public read only.

  • The Skuid Page Viewer permission set lets users read Pages and Page Assignments.
  • The Skuid Page Builder permission set lets users read, create, edit and delete Pages, Page Assignments, Page Versions, and other objects in the Skuid package.
  • The Skuid Admin permission set gives users the same options as the Skuid Page Builder permission set, and also allows access the XML Editor on Skuid pages.
  • Out of the box, none of these permission sets have View All and Modify All permissions on these objects.

Warning

It’s important to utilize a sandbox environment to test all aspects of your Skuid configuration, and this includes license assignments. By default, Salesforce assigns a site license in sandbox orgs—meaning assigning individual licenses is not possible.

To accurately test how automatically assigning licenses could affect your configuration, please contact salesops@skuid.com to limit your sandbox licenses to a specific number of users—allowing you to assign and test properly.

License Assignments

Auto-assign licenses to new users

Skuid provides a tool to automatically assign all new users a package license. To enable this, follow the steps below:

image0

  1. Click Configure > User Licensing / Permissions.
  2. Click on these links to go into Salesforce Setup in a new tab and manually assign Skuid licenses and Permission Sets.
  3. In this area you can configure if and how you want Skuid licenses and Permission Sets to be be automatically assigned and revoked.
  4. Enable Organization Defaults if you want Skuid Licenses/Permission Sets auto-assigned/revoked when any user in your org is created/ activated / deactivated.
  5. On the other hand, if you only want specific profiles to be auto-assigned Skuid licenses and Permission Sets, or if you want to specify which Permission Sets and license are auto-assigned to specific profiles, go into Profile-specific Settings. Once you set up a profileSkuid Licenses/Permission Sets are auto-assigned/revoked when any user with that profile is created/ activated / deactivated in your org.

This way, Skuid does the grunt work of assigning licenses and Permission Sets for you. We want to free up your time for more important things, like innovating your industry and saving the world (or even both).

In Profile-specific Settings, choose what you want auto-assigned/revoked to which Profiles.

image1

If you have enabled Organization Defaults, all profiles will be auto-assigned/revoked the licenses/permission sets you’ve specified, but you can go into Profile-specific Settings to further customize which profiles get assigned what. If you don’t enable Org Defaults, then only the profiles you specify in Profile-specific Settings will have licenses and Permission Sets auto-assigned/revoked.

  1. Click to add a new Profile.
  2. Start typing the name of one of your Salesforce Profiles and select it from the list.
  3. Check the boxes of the things you want to be auto-assigned/revoked.
  4. Click on the wrench to view more details. The Permission Sets auto-assigned and revoked default to your Organization Defaults (if you have specified org defaults) but you can customize this for each profile.

Remember: Skuid auto-assigns and/or revokes licenses and permission sets only when

  • a user in your org is created / activated / deactivated (Organization Defaults)
  • a user with a Skuid-specified profile is created/ activated / deactivated in your org (Profile-specific settings)

Note

Changes made to a Salesforce user other than creating / activating / deactivating will not be reflected in that user’s licensing or permissions settings in Skuid.

Mass assign licenses using Data Loader

It’s also possible to mass assign licenses to a number of users through Salesforce’s Data Loader tool. This can be especially useful for an initial rollout, where auto-assgining licenses may not help since users are already activated.

For more information, see Salesforce’s knowledge article.

Permission Set Assignments

You may assign Skuid’s necessary permission sets to single users or to multiple users as noted in Salesforce documentation.

Anonymous Apex script: Mass Assign the Skuid Page Viewer Permission Set

This Anonymous Apex script can be run by an Admin to help mass assign the Skuid Page Viewer Permission Set to all active Salesforce licensed-users who do not already have the permission set.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//////////////////////////////////////
// Assign a Skuid Permission Set to all active SFDC/AUL licenses
//////////////////////////////////////
PermissionSet ps = [select Id, Name from PermissionSet where Name = 'Skuid_Page_Viewer' limit 1];
List<PermissionSetAssignment> assn
= new List<PermissionSetAssignment>();
List<User> users = [
select Id
from User
where Id not in (select AssigneeId from PermissionSetAssignment where PermissionSetId = :ps.Id)
and Profile.UserLicense.LicenseDefinitionKey in ('AUL','SFDC')
and IsActive = true];
for (User u : users){
assn.add(new PermissionSetAssignment(
AssigneeId = u.Id,
PermissionSetId = ps.Id
));
}
//system.assert(false,assn.size());
try {
insert assn;
} catch (Exception ex) {
system.assert(false,ex.getMessage());
}

Other Considerations

Skuid Sample Page: License Management

If you commonly need to see an overview of active Skuid licenses within your org, consider implementing this License Management sample page in your Salesforce org.

Non-Skuid users will still access standard layouts

If you use the tutorials for overriding tabs in Salesforce, (either using page assignments or direct visual force page overrides) users without Skuid licenses or privileges will still be able to access the standard salesforce layouts.

User with a Skuid Subscription

When you override standard Salesforce pages with your own Skuidified one, a user who has a Skuid subscription will see a Skuid page:

User without a Skuid Subscription

Users that do not have Skuid subscriptions will see the standard Salesforce Layout

In Salesforce Setup, make Pages and Page Assignments Public Read Only

image2

Change the Default Access for Page and Page Assignment to “Public Read Only” and then click Save.

image3

We recommend that you set the Default Access for the Page, and Page Assignment objects to Public Read Only.

Troubleshooting

If you are making user-level changes in Saleforce, yet the license and permission sets stipulated in your Organization-wide Defaults or Profile-specific Settings are not correctly being assigned or revoked from the user, note that Skuid’s Organization-wide Defaults and Profile-specific Settings are assigned upon the creation, activation, or deactivation of a user. No other types of user changes will trigger this automatic assignment/revocation of license and permission sets.

If you wish to make other types of changes to a user in Salesforce, and want to also change their Skuid licensing or permission sets:

  • In the User Detail page, deactivate the user.
  • Make the changes and Save.
  • Reactivate the user with the new settings.

If you need to manually remove or add Skuid licenses, you can do so by following the process outlined by Salesforce for assigning licenses for managed packages. You will also need to manually add and remove the Skuid permission sets for those individuals.

If you have other Apex triggers:

Due to Salesforce restrictions regarding setup object operations, Skuid’s triggers may not function well in combination with other user-creation triggers. If Skuid’s triggers and your triggers are grouped as a single transaction, you may see unexpected behaviors or your licenses and permissions may not assign properly.

If you have existing user-creation triggers, or wish to implement additional triggers, consider one of the following alternatives:

  • If you “own the code” for the additional triggers, consider placing setup object DML statements within future methods to ensure that they run within a separate transaction.
  • If you do not wish to use future methods, consider writing your own auto-licensing and permission granting functionality into new or existing functions. This will give you greater control over how and when licenses are assigned and will reduce the likelihood of undesired results.

Trouble viewing pages in Skuid on Salesforce?

You’ve created an app, built multi-featured pages, and deployed to give your users access. (Congratulations!) Except…they can’t see the pages. What’s up with that?

Below are a few issues that might be preventing a user from viewing pages. Is the user assigned a Skuid license or subscription?

Note

Some users have more than one User ID; make sure the one they are using to access the page is included in the list of Licensed Skuid users:

  1. In the Salesforce Setup pane, navigate to Build > Installed Packages.
    • Does the User have Skuid installed?
    • Do they have the correct version installed?
  2. To see which IDs are licensed to use Skuid in the user’s dev org, click Manage License.

Managing licenses in sandboxes

In Salesforce sandbox orgs, you are given a site license, which means there’s no need to assign licenses to sandbox users. However, when you deploy to a production org, it’s critical to make sure all intended users have Skuid licenses. Users who were able to access the page in the sandbox will not be able to see it in production unless they have an assigned license/subscription.

Prefer to limit your Skuid licenses in a sandbox, to more accurately test your deployment? Doing so allows you to assign and test licenses for a more realistic view of how your licensing assignments work within your configuration. To limit licenses, make the request to salesops@skuid.com, with your sandbox org ID and the number of licenses you’d like to activate for that org.

Does the user have the correct permission set?

To view a Skuid page, they need to have the Skuid Page Viewer Permission set enabled.

  1. In the Salesforce Setup pane, navigate to Administer > Manage Users > Users.
  2. Click on the appropriate user
  3. Under Permission Set Assignments, check to see that they have Skuid Page Viewer assigned.
  4. If not, click Edit Assignments:
    • Select the Skuid Page View permission set from the Available Permission Sets list on the left and use the Add/Remove buttons to add them to the Enabled Permission Sets list on the right.

Are the Skuid pages public?

If the page is not public, only designated profiles, such as other Admins, can see it. Note: Skuid pages and page assignments are, by default, always private. Unless you changed this setting when you were building pages in the sandbox, deployed pages and page assignments will always need to be made public.
  1. In the Salesforce Setup pane, navigate to Administer > Security Controls > Sharing Settings.
  2. Under Sharing Settings, check that Page and Page Assignment are both set to Public Read Only.
  3. If not, click Edit:
    • Update the settings for Page and Page Assignment.
    • Click Save.

Does the user’s profile have access to the VisualForce pages associated with the Skuid pages?

To view a Skuid page, they need to have the Skuid Viewer Permission set.

  1. In the Salesforce Setup pane, navigate to Administer > Manage Users > Profiles.
  2. Click on the appropriate profile(s)
    • Enabled Visualforce Page Access, check to see that the page(s) are enable.
  3. If not, click Edit:
    • Select the page(s) from the Available Visualforce Pages list on the left and use the Add/Remove buttons to add them to the Enabled Visualforce Pages list on the right.

Does the user’s profile have appropriate access to the objects or entities?

  1. In the Salesforce Setup pane, navigate to Administer > Manage Users > Permission Sets.
  2. In the Find Settings search field at the top, enter the name of the object and select it from the dropdown list.
  3. Click Edit.
    • Scroll to Object Permissions and (Standard, Custom, and/or External, depending upon the object you are giving permissions to) and select the permissions for that object.
  4. Click Save.

Have page assignments been set up correctly, and buttons and links been over-ridden?

Need help with this? Check out the topic on Page Assignments.