[Development Guides Home](/guides) # Guide to the Feature Showcase ## Introduction Warning: 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. 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 WebPros International, LLC 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. ## Showcase item types Important: * For more information about the `drivers.json` files for each item type, read our [The drivers.json File](/guides/guide-to-the-feature-showcase/guide-to-the-feature-showcase-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: ``` "readonly":1 "auto_enable":0 ``` **Example** ```json { "spec_version" : 2, "meta" : { "auto_enable" : 0, "meta_version" : 2, "content" : { "vendor" : "WebPros International, LLC", "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: ``` "auto_enable":1 "showcase": -1 "enable": (something) ``` **Example** ```json { "spec_version" : 2, "meta" : { "auto_enable" : 1, "meta_version" : 2, "content" : { "vendor" : "WebPros International, LLC", "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: ``` "readonly":0 "auto_enable":0 "enable": (something) "disable": (something) ``` **Example** ```json { "spec_version" : 2, "meta" : { "auto_enable" : 1, "meta_version" : 2, "content" : { "vendor" : "WebPros International, LLC", "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: ``` "readonly":0 "auto_enable":0 "handle_showcase_submission": (something) ``` **Example** ```json { "spec_version" : 2, "meta" : { "auto_enable" : 1, "meta_version" : 2, "content" : { "vendor" : "WebPros International, LLC", "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)"  } ] } } ``` ## Additional documentation * [The drivers.json File](/guides/guide-to-the-feature-showcase/guide-to-the-feature-showcase-the-drivers-json-file) * [Troubleshooting](/guides/guide-to-the-feature-showcase/guide-to-the-feature-showcase-troubleshooting)