# Step 13: Manage permission sets

## Provide permission sets

To provide permissions for standard objects and fields, run the following script once from the developer console. Note that this class is outside of the package.

{% code title="Permission script" %}

```
PermissionSet pr = new PermissionSet(Label='DRB2B Additional Permission set',Name='DRB2B_Additional_Permission_set');
        insert pr;
        System.debug('pr >'+pr);
        List<ObjectPermissions>  objectPermissionList = new List<ObjectPermissions>();
 
        ObjectPermissions objPermission = new ObjectPermissions();
        objPermission.PermissionsCreate=true;
        objPermission.PermissionsRead=true;
        objPermission.PermissionsEdit=true;
        objPermission.PermissionsDelete=true;
        objPermission.SobjectType='ORDER';
        objPermission.ParentId = pr.Id;
        objectPermissionList.add(objPermission);
 
        objPermission = new ObjectPermissions();
        objPermission.PermissionsCreate=true;
        objPermission.PermissionsRead=true;
        objPermission.PermissionsEdit=true;
        objPermission.PermissionsDelete=true;
        objPermission.SobjectType='Ordersummary';
        objPermission.ParentId = pr.Id;
        objectPermissionList.add(objPermission);
 
        objPermission = new ObjectPermissions();
        objPermission.PermissionsCreate=true;
        objPermission.PermissionsRead=true;
        objPermission.PermissionsEdit=true;
        objPermission.PermissionsDelete=true;
        objPermission.SobjectType='WebStore';
        objPermission.ParentId = pr.Id;
        objectPermissionList.add(objPermission);
 
        objPermission = new ObjectPermissions();
        objPermission.PermissionsCreate=true;
        objPermission.PermissionsRead=true;
        objPermission.PermissionsEdit=true;
        objPermission.PermissionsDelete=true;
        objPermission.SobjectType='WebCart';
        objPermission.ParentId = pr.Id;
        objectPermissionList.add(objPermission);
 
        objPermission = new ObjectPermissions();
        objPermission.PermissionsCreate=true;
        objPermission.PermissionsRead=true;
        objPermission.PermissionsEdit=true;
        objPermission.PermissionsDelete=true;
        objPermission.SobjectType='Product2';
        objPermission.ParentId = pr.Id;
        objectPermissionList.add(objPermission);
 
        objPermission = new ObjectPermissions();
        objPermission.PermissionsRead=true;
        objPermission.SobjectType='Account';
        objPermission.ParentId = pr.Id;
        objectPermissionList.add(objPermission);
 
        insert objectPermissionList;
        List<FieldPermissions> fieldPermissionList = new List<FieldPermissions>();
        //OrderSummary Object fields
        FieldPermissions fp= new FieldPermissions();
        //OrderItem Object fields
        fp.Field='OrderItem.TotalTaxAmount';//the name of new field
        fp.ParentId = pr.Id;
        fp.PermissionsRead=true;
        fp.SobjectType='OrderItem';
        fieldPermissionList.add(fp);
 
        fp= new FieldPermissions();
        fp.Field='Product2.Productcode';//the name of new field
        fp.ParentId = pr.Id;
        fp.PermissionsEdit=true;//
        fp.PermissionsRead=true;
        fp.SobjectType='Product2';
        fieldPermissionList.add(fp);
 
        fp= new FieldPermissions();
        fp.Field='Product2.StockKeepingUnit';//the name of new field
        fp.ParentId = pr.Id;
        fp.PermissionsEdit=true;//
        fp.PermissionsRead=true;
        fp.SobjectType='Product2';
        fieldPermissionList.add(fp);
 
        fp= new FieldPermissions();
        fp.Field='Product2.DisplayUrl';//the name of new field
        fp.ParentId = pr.Id;
        fp.PermissionsEdit=true;//
        fp.PermissionsRead=true;
        fp.SobjectType='Product2';
        fieldPermissionList.add(fp);
 
        fp= new FieldPermissions();
        fp.Field='Product2.QuantityUnitOfMeasure';//the name of new field
        fp.ParentId = pr.Id;
        fp.PermissionsEdit=true;//
        fp.PermissionsRead=true;
        fp.SobjectType='Product2';
        fieldPermissionList.add(fp);
 
        Insert fieldPermissionList;
```

{% endcode %}

## Sharing settings

Ensure that the Sharing Settings for the Order object are set to **Public Read/Write**. If the Order object is set to **Controlled by Parent**, the Sharing Settings for Account and Contract should be **Public Read/Write**.

![](/files/3p7x031w0u6uU40EeQPd)

## Digital River permission sets

| Permission set                       | Description                                                                                                                          |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| Digital River Connector - Admin      | Assign this permission set to Admin users to access the **Digital River App Configuration** page and to update configurations in it. |
| DigitalRiver Connector - Shopper     | Assign this permission set to all Storefront users.                                                                                  |
| DigitalRiver Connector - Integration | Assign this permission set to the Integration users.                                                                                 |
| DigitalRiver Connector - Refunds     | Assign this permission set to customer service representatives (CSRs) who initiate the refunds.                                      |

## Assign users to a permission set

To assign users to a permission set:

1. Type **Permission Sets** in the **Search** field and press **Enter**.\
   ![](/files/olzx8tPycJwJDZ5SKE5I)
2. Click **Permission Sets**. The **Permission Sets** page appears.
3. In the **Permission Set Label** column, click the permission set you want to add users to.\
   ![](/files/kTG8HaIlDyyHcapkj8mn)

   This example shows how to assign a **Digital River Connector – Admin** permission set to users. ![](/files/FwcT2sikjUCO6O6EJRHv)
4. On the **Permission Set** page, click **Manage Assignments**.\
   ![](/files/T2od7nWVOUUHD9lWy1AS)
5. Click **Add Assignments**.\
   ![](/files/jR49V0hh1r0keQ7HhdBa)
6. Select one or more users who you want to assign to this permission set and click **Assign**. The assigned users now appear in the modified permission set.\
   ![](/files/ba47MOVGTKmeHCTsZwsz)

See the [Digital River permission sets table](/salesforce-lightning/salesforce-lightning-b2b-commerce-app-1.6/integrate-the-salesforce-lightning-app/step-13-manage-permission-sets.md) to repeat the above-mentioned steps for assigning relevant permission sets.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digitalriver.com/salesforce-lightning/salesforce-lightning-b2b-commerce-app-1.6/integrate-the-salesforce-lightning-app/step-13-manage-permission-sets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
