tomansley / SimpliListViews

Salesforce List Views App Package
GNU General Public License v3.0
0 stars 0 forks source link

SimpliListViews

Trying to figure out a problem? Try this FAQ page - https://github.com/tomansley/SimpliListViews/wiki/FAQ

Feature Overview

Overview

Users spend lots of time working with lists of data. In Salesforce those lists are spread throughout the application. Depending on user process, this can create unnecessary clicks and page loads. Let's make List Views great again! Simpli List Views helps reduce the clicks a user needs when moving from one object list view to another. All list views are displayed on one page.

Salesforce list views could also do with a spruce-up! Ever needed to look deeper into an object hierarchy? Now you can. Move beyond standard list views and add deeper hierarchical custom fields that reference objects multiple levels deeper. For example, on an Account list view you could see the account owners profile by using Owner.Profile.Name in the list views configuration.

And since you have decided to use Simpli List Views and plan on spending all your time using it, you can create actions for list views. Select records that need to be processed and choose an action. Actions can be universal (to delete records), object specific (to update object fields) or list view specific (process oriented action). Actions can be configured to have users enter data before processing the action and very specific actions can be developed using the API.

Note

Examples

A number of example lightning pages have been created to showcase the different configuration options available. The following examples can be seen as tabs in the Simpli List View app.

Configuration

There are 3 different levels of configuration that are available in the app.

Org-Wide Custom Settings

These settings are maintained in the "List View Org Wide Setting" custom metadata type in the org setup. They affect all list views displayed in the SFDC org and are typically set by a system administrator at initial setup

Component/Page Level Settings

These settings are maintained as part of the Lightning app that the component is a part of and deal with the look and feel of the Lightning component. They affect all list views displayed on the component in the page and are typically set by a system administrator when a new page is created. The settings are typically dictated by how the page is being used and perhaps what device.

List View Configuration

These settings affect individual list views in the SFDC org. They would typically be set by a user after the list view has been created. The user can change these settings by clicking on the list views admin button when viewing the list view. The settings data itself is found in the List View Configs object. Each config has a set of parameters (each corresponding to a configuration) that can be set based on needs.

Actions

Actions can be performed against a set of selected records in a list view. Actions can be specific to a type of object or available for all list views. Deleting a record is an example of an action that is available to all list views. The following actions have been implemented and made available in the app exchange package.

Action Configuration

All actions are configured for use by the application. Their configuration is held in the List View Actions table (simpli_lvList_View_Actionc). The following described each field -

Action Implementation

If an action is needed that is not currently available it can be implemented. It is highly encouraged to submit actions back to the app exchange package developer for addition in later releases if they are of a more abstract nature and can be used by lots of users.

ListViewAction Interface

The following is some example code which implements the ListViewAction interface -

global with sharing class ListViewActionHelloWorld extends simpli_lv.ListViewAction {

    /*
     * This method is required to implement the ListViewAction interface. If processing is successful the
     * UI component expects the string 'Ok' to be returned. Any other string and the UI component assumes
     * processing has failed and the returned string is used as the error message displayed.
     *
     * @param recordIds a list of recordIds that have been sent for processing.
     * @param fieldValues a list of key/value parameters. These parameters are configured.
     */
    public override String process(List<String> recordIds, Map<String, Object> fieldValues)
    {
        System.debug('Hello - ' + (String) fieldValues.get('FirstName') + '. This is where the processing of the records takes place');

        return simpli_lv.ListViewAction.RESULT_OK;
    }

}

Things to remember during implementation

Action Configuration

Once the action has been implemented it then needs to be configured for use by the list views. A new List View Actions record must be created. To follow on from the example above the record would look like the following -

If there are parameters that need to be returned by the user these need to be configured as well. Using the example above we will create one parameter -

Other Resources

Features Overview - https://www.youtube.com/watch?v=deoNfudkpEw

Install Guide - https://www.youtube.com/watch?v=PIzyrWuc1YA

Starting Out - https://www.youtube.com/watch?v=bJQchWEK34I

Sizing and Sorting - https://www.youtube.com/watch?v=Uqur5RiKwU0

Using Multiple Components On One Page - https://www.youtube.com/watch?v=nJyTWEPCUac

Creating Custom List View - https://www.youtube.com/watch?v=OLLpIvXqfWc

Large Datasets and Paging - https://www.youtube.com/watch?v=9eHD7ntFFs0

Custom List View Creation - https://youtu.be/OLLpIvXqfWc

Page Modes - https://youtu.be/SNDSkBCQR8Y

Actions - https://youtu.be/n29zVvM6Xtk