Extension Point Framework Frequently Asked Questions
How do I ensure that specific External Plugins are available in both local and deployed environments?
Declare plugins as dependencies in the ext-plugin-config
module of your ep-commerce
source code repository. Any plugins defined there will automatically be loaded into any services started with the local mvn tomcat8:run-war
command, and will also be included in the Docker images that are built by CloudOps. For more information, see the deploy topic.
How can I load an External Plugin created by Elastic Path or another vendor?
We recommend that all vendors distribute their plugins through a public Nexus server. Ensure that your Elastic Path Commerce Nexus specifies the vendor’s Nexus as a proxy, and then add the plugin dependencies to your ext-plugin-config
module as usual. By default, your Nexus should already contain proxy definitions for the Elastic Path public Nexus. For more information, see Maven Repository Manager.
Can I pass config values to External Plugins?
Yes you can; setting values can be passed to both specific plugins and extensions.
What can I do if an Extension Point interface doesn’t pass information that I need?
You can extend existing Extension Point context or entity classes to add any missing fields. You will also need to extend the Extension Point interfaces to accept your extended classes, and extend the converter classes to populate the new fields.
Also please let us know about the limitation you encountered by creating a post on our Support Forum to let us know your use case so we can prioritize changes for future versions.
What should I do if my customization requires an Extension Point that doesn’t exist?
We plan to continue to add new Extension Points in future versions of the platform. Ceate a post on our Support Forum to let us know your use case. In the meantime, use the Extension Modules approach.
Can External Plugins persist data in any way?
Currently they cannot, but we have plans to add support for this in future versions of Elastic Path Commerce.
Does the Payment Plugin mechanism use the Extension Point Framework?
Currently Payment Plugins use a different mechanism that is described here. We plan to convert this to use the Extension Point Framework mechanism in a future version of Elastic Path Commerce.
Do I need to download or build Elastic Path Commerce source code to create an External Plugin?
No, you do not. The archetype generation tooling and the Extension Point Framework Connectivity Library are available as released artifacts from the Elastic Path Public Nexus. This means that you can follow our development instructions to get started building External Plugins right away, without the Elastic Path Commerce source code.
However, the current mechanism for integrating External Plugins into deployments and testing them on locally running Elastic Path Commerce services still requires the Elastic Path Commerce source code.