Data privacy notice

 

When this content is loaded, usage information is transmitted to Vimeo and may be processed there.

 

             

IFCPlugin - Plugin Basic Interface

Modified on Mon, 16 Jan, 2023 at 10:58 PM

IFCPlugin

Meaning

The interface IFCPlugin provides general functions to control the plugin life cycle. The interface does not need to be included directly when developing your own plugins, as it is referenced as a "base interface" in all other plugin interfaces.


Method signatures

String getName()

Returns the name of the plugin: this must be unique within the FORMCYCLE system.


default String getDisplayName(Locale locale)

Returns the display name of the plugin depending on the given Locale. This method does not need to be implemented, but allows the internationalisation of the plugin. If this method is not implemented, the display name corresponds to the name of the plug-in.


default String getDescription(Locale locale)

Returns the description of the plugin depending on the given Locale. The implementation of this method is optional.


default String getDescription()


+++ Deprecated, the getDescription(Locale locale) method should be used.+++


A description of the plugin, which is displayed on the plugin bundle registration pages and in the case of promotion plugins in the configuration panel.


default void install(IPluginInstallData installData) throws FCPluginException

This method is called by FORMCYCLEduring the plugin installation process and allows functionality to be executed, which should only be executed once, when the plugin is newly registered in the system.


IPluginInstallData installData
implements the interface IPluginDefaultLifecycleData


default void initialize(IPluginInitializeData initializeData) throws FCPluginException

This method is executed by FORMCYCLEwhenever the plugin object is newly instantiated. This can happen at different times:
  • when an existing plugin is updated, or when changes to bundle properties are saved.
  • when the FORMCYCLE system is restarted
  • if the plugin should be registered in the client scope, the momentary failure and the associated recovery of the database connection can also trigger a re-initialisation


IPluginInitializeData initializeData
implements the interface IPluginDefaultLifecycleData


default void shutdown(IPluginShutdownData shutdownData) throws FCPluginException

This method is called when a plugin is shut down.
  • when an existing plugin is updated, or when changes to bundle properties are saved.
  • when the FORMCYCLE system is restarted
  • if the plugin should be registered in the client scope, the temporary loss of the database connection can also trigger a call of the method
  • if an existing plugin is deleted from the system.


IPluginShutdownData shutdownData
Implements the interface IPluginDefaultLifecycleData


default uninstall(IPluginUninstallData uninstallData) throws FCPluginException

This method is called by FORMCYCLEwhen the plugin is uninstalled and allows it to perform functionality, which should only be executed once when the plugin is removed from the system.IPluginUninstallData uninstallData Implements the interface IPluginDefaultLifecycleData


Interface IPluginDefaultLifecycleData

The interface provides the following methods:

getScopeKey().
Returns information about the scope in which the plugin was installed. (The UUID of the client if registered in the client scope, otherwise " system" if plugin was registered in the system scope).
getRuntimeKey()
Returns the UUID under which the plugin was stored in the database.
getClient().
Returns the current client object, or null if plugin was not registered in the scope of a client.
getProperties()
Enables access to the properties stored on the plug-in bundle.
getFileHelper().
Returns a helper object to support the work with plug-in files.
getResourceHelper().
Returns a helper object to work with language-specific resources.
getFrontendServer().
Returns the frontend server where the plugin is installed, or null if it was installed on the master server.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article