It is important to make sure that by installing and uninstalling system packages the extension does not break Plesk’s normal functioning.

Handling unsupported operating systems

The extension must check whether the OS it is being installed on is supported or not. If it is not, the extension must clearly communicate it to the user in an error message. Naturally, in this case, the extension must not be installed.

Here is the list of operating systems currently supported by Plesk: Supported operating systems.

Installing packages

When implementing the process of installing extension’s packages, take into consideration the following guidelines.

  1. Show a clear warning to the user that packages will be installed with the extension, which will alter the current state of the system. The user must be explicitly made aware of the changes. Optionally, the installed packages may be listed for the user’s convenience.
  2. Before installing, the extension must check whether the packages it requires are already installed or not. If they are, they must not be installed again.
  3. Check that the packages and dependencies to be installed are not conflicting with packages already installed on the system. If such conflicts exist, the user must be explicitly informed of this fact.
  4. Make sure that all the necessary packages and package repositories are installed.
  5. Make sure that all the dependencies and corresponding repositories are installed.
  6. Make sure there are no errors reported in panel.log

Testing tips:

  1. New packages and repositories must be available to install on all operating systems and versions of Plesk supported by the extension.
  2. Installing the packages does not break any of the related Plesk functionality.
  3. Make sure there are no errors reported in panel.log

Use long tasks to install packages

The process of installation takes considerable time. Plesk provides the mechanism of long tasks exactly for the situations like this.

Uninstalling extensions or packages through extension

  1. Ideally, the system should be reverted back to the state prior to the extension installation.
  2. All packages, dependencies and repositories installed by the extension must be removed at uninstall.
  3. System packages installed before the extension packages must not be removed.
  4. Plesk repositories must remain available and present on the repositories list.
  5. Plesk must work.
  6. Make sure there are no errors reported in panel.log