Helix Core Extensions Developer Guide (2019.1)

Extension Overview

Perforce server extensions are a means for administrators to customize workflow. These extensions allow you to extend product behavior in a close integration between the Helix Core server runtime and your custom logic.

Note

Extensions are not available with Windows Server.

Server extensions are self-contained bundles of code, metadata and other assets that interface with Helix Core server through the extensions Classes and methods. The extension code runtime is embedded within the Helix Core server.

Server extensions are versioned in a special extensions depot.

You manage your server extensions with the p4 extension command.

Some built-in advantages of server extensions when compared with triggers:

  • a single scripting language supports portability to any platform that Helix Core server supports
  • programmatic API allows for integration of an extension with the Helix Core server
  • configurable on a global or per depot basis
  • users that the superuser has authorized to configure extensions, can do so without super-user involvement within the repo or depot that user owns
  • forward compatible across product upgrades (API/runtime pinning)
  • server-managed installation, execution, and replication
  • Internationalization (i18n) compatibility
  • can issue pre-authenticated Perforce client commands, so no need to manage a ticket for the server extension
  • easy administration for installation, update or removal, by using the p4 extension command and the global and instance specs (instead of the flat triggers table). See Server extension configuration (global and instance specs).
  • includes libraries for issuing web requests, sending email, storage