The goal of this wiki article is to clarify the communication channels between portal and plugins classes.
In Liferay we have the following packages/entities:
The way they can interact and communicate is the following:
- portal-kernel can be called by the rest of entities (portal-service, portal-impl and plugins)
- portal-service can be called by portal-impl and plugins
- plugins can be called by other plugins using CLP communication (see this wiki article: CLP plugins communication)
Note: you may call plugins' services from the portal-impl using CLP too, but this is not a recommended way to work.
Here you have a diagram to make it clearer:
IMPORTANT UPDATE: This has recently changed for the current Liferay version - 6.0.2. portal-service and portal-kernel have been merged, so that it's much easier now to develop. See http://issues.liferay.com/browse/LPS-9370 for further information