# Development Guides and Tutorials ## Overview Welcome to our Developer Guide and Tutorials page. You can find information about integrating and customizing interfaces with cPanel & WHM. ## Guides [Guide to Testing Custom Code](/guides/guide-to-testing-custom-code) — This guide explains the basics of how to test your custom code. [Guide to cPanel Interface Customization and Branding](/guides/guide-to-cpanel-interface-customization-and-branding) — You can use several different methods to modify the appearance of the cPanel interface. [Guide to cPanel Plugins](/guides/guide-to-cpanel-plugins) — cPanel plugins add new functionality to the cPanel interface. [Guide to WHM Plugins](/guides/guide-to-whm-plugins) — WHM plugins add new functionality to the WHM interface. [Guide to WHM dynamicui Files](/guides/guide-to-whm-dynamicui-files) — WHM themes use dynamicui files to display icons and groups. [Guide to Template Toolkit](/guides/guide-to-template-toolkit) — Template Toolkit is the main template system for the cPanel and WHM interfaces. [Guide to Site Publisher Templates](/guides/guide-to-site-publisher-templates) — You can create your own custom templates for cPanel's [Site Publisher](https://docs.cpanel.net/cpanel/domains/site-publisher/) feature. [Guide to API Authentication](/guides/guide-to-api-authentication) — cPanel & WHM supports several API authentication methods. [Guide to Standardized Hooks](/guides/guide-to-standardized-hooks) — Standardized Hooks trigger applications when cPanel & WHM performs an action. [Guide to Package Extensions](/guides/guide-to-package-extensions) — Package extensions add custom fields to packages and accounts. [Guide to Perl in cPanel & WHM](/guides/guide-to-perl) — cPanel & WHM ships with multiple Perl environments. [Guide to cPanel Variables](/guides/guide-to-cpanel-variables) — The [LiveAPI system](/guides/guide-to-the-liveapi-system) and [`dynamicui` files](/guides/guide-to-cpanel-plugins/guide-to-cpanel-plugins-add-plugins) can access cPanel's global variables. [Guide to Locales](/guides/guide-to-locales) — The locale system localizes text in Perl, Template Toolkit, or JavaScript code. [Guide to the LiveAPI System](/guides/guide-to-the-liveapi-system) — The LiveAPI System provides environments for applications in the cPanel interface. [Guide to Custom dnsadmin Plugins](/guides/guide-to-custom-dnsadmin-plugins) — Custom dnsadmin plugins can update DNS records on external systems. [Guide to API Privilege Escalation](/guides/guide-to-api-privilege-escalation) — To run a function with escalated privileges, call a function through the `Call` method or use the `send_cpwrapd_request` pluggable wrapper. [Guide to External Authentication](/guides/guide-to-external-authentication) — External Authentication modules allow users to log in through OpenID Connect-compliant identity providers. [Guide to cPanel Market Provider Modules](/guides/guide-to-cpanel-market-provider-modules) — This document explains how to create a third-party custom cPanel Market provider module with basic functionality. [Guide to Transfer and Restore API Functions](/guides/guide-to-transfer-and-restore-api-functions) — The system uses several WHM API 1 functions during the transfer and restore process. [Guide to Report Receiver APIs for the ModSecurity Rule Reports](/guides/guide-to-report-receiver-apis-for-the-modsecurity-rule-reports) — This document describes report receiver API endpoints for the ModSecurity™ Rule Reports. [Guide to Replacing cPanel API 1 Functions with UAPI Equivalents](/guides/guide-to-replacing-cpanel-api-1-functions-with-uapi-equivalents) — This document lists the UAPI functions which replace previously-deprecated cPanel API 1 functions. [Guide to Integration Links](/guides/guide-to-integration-links) — Integration links create a link in a user's cPanel interface using WHM API 1. [Guide to Third-Party AutoSSL Provider Modules](/guides/guide-to-third-party-autossl-provider-modules/) — AutoSSL provider modules allow your server's users to automatically secure locally-hosted domains on their accounts with certificates from that SSL certificate provider. [Guide to Custom Service Notifications](/guides/guide-to-custom-service-notifications) — You can create modules to send notifications to custom services. ## Tutorials [Add a Link to the cPanel Interface](/guides/quickstart-development-guide/tutorial-add-a-link-to-the-cpanel-interface) — This tutorial adds an icon that links to an external location to the cPanel interface. [Call UAPI's SSL::install_ssl Function in Custom Code](/guides/quickstart-development-guide/tutorial-call-uapis-ssl-install-ssl-function-in-custom-code) — This tutorial creates custom code to call UAPI's [`SSL::install_ssl`](https://api.docs.cpanel.net/openapi/cpanel/operation/install_ssl/) function. [Create a ModSecurity Vendor](/guides/quickstart-development-guide/tutorial-create-a-modsecurity-vendor) — This tutorial describes how to create a custom ModSecurity™ vendor. [Create a New cPanel Interface](/guides/quickstart-development-guide/tutorial-create-a-new-cpanel-interface) — This tutorial uses Template Toolkit to create a new cPanel interface. [Create a New cPanel Interface in PHP](/guides/quickstart-development-guide/tutorial-create-a-new-cpanel-interface-in-php) — This tutorial uses PHP to create a new cPanel interface. [Create a New WHM Interface in PHP](/guides/quickstart-development-guide/tutorial-create-a-new-whm-interface-in-php) — This tutorial uses PHP to create a new WHM interface. [Create a New WHM Interface in Template Toolkit](/guides/quickstart-development-guide/tutorial-create-a-new-whm-interface-in-template-toolkit) — This tutorial uses Template Toolkit to create a new WHM interface. [Create a Standardized Hook](/guides/quickstart-development-guide/tutorial-create-a-standardized-hook) — This tutorial adds custom hooks to preserve a customized configuration file. [Create a WHM Plugin](/guides/quickstart-development-guide/tutorial-create-a-whm-plugin) — This tutorial shows how to use WHM plugins to add custom system administrator-level functionality to cPanel & WHM servers. [Create Custom-Branded Login Pages](/guides/quickstart-development-guide/tutorial-create-custom-branded-login-pages) — This tutorial creates server-wide custom login pages for the cPanel, WHM, or Webmail interfaces. [Integrate Custom Webmail Applications](/guides/quickstart-development-guide/tutorial-integrate-custom-webmail-applications) — This tutorial explains how to integrate custom webmail applications in cPanel's [*Webmail*](https://docs.cpanel.net/webmail/the-webmail-interface/) interface (*cPanel >> Home >> Email >> Email Accounts >> Check Email*). [Localize Text in cPanel Plugins](/guides/quickstart-development-guide/tutorial-localize-text-in-cpanel-plugins) — This tutorial creates and installs a fully-localized cPanel plugin. [Register a WHM Plugin with AppConfig](/guides/quickstart-development-guide/tutorial-register-a-whm-plugin-with-appconfig) — This tutorial explains how to register a WHM plugin with AppConfig. [Replace a cPanel API 1 Function With a UAPI Function](/guides/quickstart-development-guide/tutorial-replace-a-cpanel-api-1-function-with-a-uapi-function) — This tutorial shows how to replace a deprecated [cPanel API 1 function](https://documentation.cpanel.net/display/DD/Guide+to+cPanel+API+1) with a [UAPI function](https://api.docs.cpanel.net/cpanel/introduction) in a cPanel integration or plugin. [Use UAPI's Fileman::upload_files Function in Custom Code](/guides/quickstart-development-guide/tutorial-use-uapis-fileman-upload-files-function-in-custom-code) — This tutorial explains the process to upload files with UAPI's [`Fileman::upload_files`](https://api.docs.cpanel.net/openapi/cpanel/operation/upload_files/) function. If you have questions or need help with your customization project, join the conversation on our [cPanel Developers Forum](http://forums.cpanel.net/cpanel-developers.html), or reach out to us in [Discord](http://go.cpanel.net/discord). We encourage anyone who develops for cPanel products to read the [cPanel Blog](http://blog.cpanel.net/), and join our Plugin Developers [mailing list](https://mail.cpanel.net/mailman/listinfo/plugindevs_cpanel.net).