Skip to end of metadata
Go to start of metadata

Introduction

Warning:

cPanel & WHM displays the Feature Showcase after installation. Feature Showcase items can overwrite your settings.

You can add custom items to WHM's Feature Showcase. The Feature Showcase alerts WHM users to newly-released features. It appears when root-enabled users log in the first time after upgrading or installing cPanel & WHM.

The Feature Showcase divides items into three sections:

  1. Showcased Items — Big or very important changes.
  2. Recommended Items — Items that cPanel, L.L.C. recommends. cPanel & WHM usually enables these items, but not always.
  3. New Items — Everything else.

Whether and how items appear depends on which items the user has previously seen. If no new items exist, the Feature Showcase interface does not appear.

Note:

We introduced the drivers.json file method in cPanel & WHM version 74.

Showcase item types

Important:

  • For more information about the drivers.json files for each item type, read our The drivers.json File documentation.
  • Activation and Configuration items must include driver code.

The Feature Showcase supports these types of items:

Announcements

These items announce new features. They don't allow the user to enable it, disable it, or configure a setting.

Use these important parameter settings:

"readonly":1
"auto_enable":0

Example 

 Click to view...
{
    "spec_version" : 2,
    "meta" : {
        "auto_enable" : 0,
        "meta_version" : 2,
        "content" : {
            "vendor" : "cPanel, Inc.",
            "url"  : "https://www.cpanel.net/",
            "name" : {
                "short"  : "Example Driver",
                "long"   : "Example Driver for Developer Usage"
            },  
            "readonly" : 1,
            "first_appears_in" : "74",
            "last_appears_in" : "78",
            "abstract" : "An example driver for developers to emulate.",
            "version" : 1,
            "locale_abstract_strings" : [
                "locale.maketext('An example driver for developers to emulate.')",
                "locale.maketext('Comes packed with meta examples that use cPanel’s localization system: [output,url,_1,Cpanel::Locale].','https://go.cpanel.net/localedocs')",
                "locale.maketext('[asis,cPanel®] does not translate strings. You will need to provide your own translations.')"
            ]     
        },  
        "showcase" : {
            "is_recommended" : 0,
            "is_spotlight_feature" : 0
        } 
    }     
} 

Background

These items don't appear to users. Instead, they automatically enable the feature for new installations.

Use these important parameter settings:

"auto_enable":1 
"showcase": -1 
"enable": (something)

Example 

 Click to view...
{
    "spec_version" : 2,
    "meta" : {
        "auto_enable" : 1,
        "meta_version" : 2,
        "content" : {
            "vendor" : "cPanel, Inc.",
            "url" : "https://www.cpanel.net/",
            "name" : {
                "short" : "Example Driver",
                "long" : "Example Driver for Developer Usage"
            },  
            "readonly" : 0,
            "first_appears_in" : "74",
            "last_appears_in" : "78",
            "abstract" : "An example driver for developers to emulate.",
            "version" : 1,
            "locale_abstract_strings" : [
                "locale.maketext('An example driver for developers to emulate.')",
                "locale.maketext('Comes packed with meta examples that use cPanel’s localization system: [output,url,_1,Cpanel::Locale].','https://go.cpanel.net/localedocs')",
                "locale.maketext('[asis,cPanel®] does not translate strings. You will need to provide your own translations.')"
             ]   
        },
        "showcase" : -1
    }, 
    "enable" : {
        "module" : "Whostmgr::TweakSettings",
        "method" : "set_value",
        "params" : [
            "Main",
            "userdirprotect",
            1
        ]
    }  
} 

Activation

These items announce a new feature, which the user can then enable or disable. They don't allow the user to configure a setting. 

Use these important parameter settings:

"readonly":0 
"auto_enable":0
"enable": (something)
"disable": (something)

Example 

 Click to view...
{
    "spec_version" : 2,
    "meta" : {
        "auto_enable" : 1,
        "meta_version" : 2,
        "content" : {
            "vendor" : "cPanel, Inc.",
            "url" : "https://www.cpanel.net/",
            "name" : {
                "short" : "Example Driver",
                "long" : "Example Driver for Developer Usage"
            },  
            "readonly" : 0,
            "first_appears_in" : "74",
            "last_appears_in" : "78",
            "abstract" : "An example driver for developers to emulate.",
            "version" : 1,
            "locale_abstract_strings" : [
                "locale.maketext('An example driver for developers to emulate.')",
                "locale.maketext('Comes packed with meta examples that use cPanel’s localization system: [output,url,_1,Cpanel::Locale].','https://go.cpanel.net/localedocs')",
                "locale.maketext('[asis,cPanel®] does not translate strings. You will need to provide your own translations.')"
            ]  
        },
        "showcase" : {
            "is_recommended" : 0,
            "is_spotlight_feature" : 0        
        }
    },
    "enable" : {
        "module" : "Whostmgr::TweakSettings",
        "method" : "set_value",
        "params" : [
            "Main",
            "userdirprotect",
            1
        ]
    },
    "disable" : {
        "module" : "Whostmgr::TweakSettings",
        "method" : "set_value",
        "params" : [
            "Main",
            "userdirprotect",
            0
        ]
     },
    "set_default" : { 
        "static" : 1 
    }
} 

Configuration

These items announce a new feature and allow the user to configure a setting.

Use these important parameter settings:

"readonly":0 
"auto_enable":0
"handle_showcase_submission": (something)

Example 

 Click to view...
{
    "spec_version" : 2,
    "meta" : {
        "auto_enable" : 1,
        "meta_version" : 2,
        "content" : {
            "vendor" : "cPanel, Inc.",
            "url" : "https://www.cpanel.net/",
            "name" : {
                "short" : "Example Driver",
                "long" : "Example Driver for Developer Usage"
            },  
            "readonly" : 0,
            "first_appears_in" : "74",
            "last_appears_in" : "78",
            "abstract" : "An example driver for developers to emulate.",
            "version"  : 1,
            "locale_abstract_strings" : [
                "locale.maketext('An example driver for developers to emulate.')",
                "locale.maketext('Comes packed with meta examples that use cPanel’s localization system: [output,url,_1,Cpanel::Locale].','https://go.cpanel.net/localedocs')",
                "locale.maketext('[asis,cPanel®] does not translate strings. You will need to provide your own translations.')"
            ]     
        },
        "showcase" : {
            "is_recommended" : 0,
            "is_spotlight_feature" : 0
        }
    },
    "handle_showcase_submission" : {
        "module" : "Whostmgr::API::1::PublicContact",
        "method" : "set_public_contact",
        "params" : [
            {
                "name" : "FORM(public_contact_name)",
                "url"  : "FORM(public_contact_url)"
             }
        ]
    }      
}