We have a new documentation site for cPanel & WHM! You can find our new documentation site at docs.cpanel.net.

We will continue to maintain our API documentation on this server.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

Warning
titleWarning:

cPanel & WHM displays the Feature Showcase interface after you upgrade to a new version that includes new features. Feature Showcase items can overwrite your settings.


Excerpt

You can add custom items to WHM's Feature Showcase interface.

 The Feature Showcase interface 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 interface 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
titleNote:

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

Showcase item types

Warning
titleImportant:
  • 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 interface 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:

Code Block
languagejs
linenumberstrue
"readonly":1
"auto_enable":0

Example 

Expand
titleClick to view...


Code Block
languagejs
linenumberstrue
{
    "spec_version" : 2,
    "meta" : {
        "auto_enable" : 0,
        "meta_version" : 2,
        "content" : {
            "vendor" : "cPanel, L.L.C.",
            "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,target,_blank].','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:

Code Block
languagejs
linenumberstrue
"auto_enable":1 
"showcase": -1 
"enable": (something)

Example 

Expand
titleClick to view...


Code Block
linenumberstrue
{
    "spec_version" : 2,
    "meta" : {
        "auto_enable" : 1,
        "meta_version" : 2,
        "content" : {
            "vendor" : "cPanel, L.L.C.",
            "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,target,_blank].','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:

Code Block
languagejs
linenumberstrue
"readonly":0 
"auto_enable":0
"enable": (something)
"disable": (something)

Example 

Expand
titleClick to view...


Code Block
linenumberstrue
{
    "spec_version" : 2,
    "meta" : {
        "auto_enable" : 1,
        "meta_version" : 2,
        "content" : {
            "vendor" : "cPanel, L.L.C.",
            "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,target,_blank].','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:

Code Block
languagejs
linenumberstrue
"readonly":0 
"auto_enable":0
"handle_showcase_submission": (something)

Example 

Expand
titleClick to view...


Code Block
linenumberstrue
{
    "spec_version" : 2,
    "meta" : {
        "auto_enable" : 1,
        "meta_version" : 2,
        "content" : {
            "vendor" : "cPanel, L.L.C.",
            "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,target,_blank].','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)"
             }
        ]
    }      
}