Enonic Development Kit (EDK) - WIP
Contents
Customize and extend Enonic XP with your own code and features
Introduction
Enonic XP is a highly modular and customizable platform. Build and deploy content schemas, custom APIs, functions, admin extensions, id providers, webapps, and even full blown websites.
The Tooling section covers the CLI, sandboxes, starters, build system, and CI/CD setup that get you building quickly.
Tutorials
| For hands on introduction to development and the SDK, visit the quickstart, Developer 101, or My first site tutorials. |
Concept
Some call it plugins, other call it modules - all we know is that Enonic apps sounds much cooler. Enonic apps are standalone software packages that can be deployed to Enonic XP to extend its functionality and capabilities. Content Studio and the Headless API are examples of such applications, built using the Enonic Development Kit (EDK).
Enonic XP is the runtime of these apps, which means multiple applications can run within a single instance. Once an application has started, it has access to all platform services via the standard libraries.
Installation
You may install applications to your Enonic XP instance in three different ways:
- Via CLI
-
Use Enonic CLI to push your application via the management API.
- Via Admin Console
-
Applications can be manually installed through the "Applications" admin app.
- Via File system
-
File system deployment is most commonly used during development, but it can also be applied for specialized deployment scenarios. Applications deployed on file will only be available on the local node, and overrides applications installed via other alternatives.
There are endless ways of configuring, isolating and scaling XP apps. For more details, visit the XP platform documentation.
Life Cycle
In addition to installing and uninstalling, XP applications may be started and stopped. This is referred to as the life cycle of the application. During the stop and start phases, applications may execute customized life cycle scripts.
- Starting
-
Once installed, applications are automatically started on all nodes. During the startup, if it exists, the application’s main function will be executed.
- Stopping
-
Before uninstalling, applications are automatically stopped on all nodes. During the stopping, if it exists, the disposer function of the application’s main.js file will be executed.
Configuration
Applications can be configured by adding a custom configuration file <app-name>.cfg i.e. my.custom.app.cfg to your Enonic instance