Start page / Plug-In Development / Universal Extensions / Permanent Plug-Ins / Functional Overview

Permanent Plug-Ins: Functional Overview

In order to provide a means to implement pervasive functionality that will be accessible by other plug-ins during client run-time, the FirstSpirit clients SiteArchitect and ContentCreator load permanent plug-ins during start-up, immediately after project selection.

Example uses of permanent plug-ins:

  • to centralize functionality that will be used by several plug-in classes
  • to implement a run-time repository for session-specific state data that should be available to several other plug-ins

Functionality

 

Permanent plug-ins are loaded immediately after project selection as the client is started and exist throughout the client instance's lifetime. These plug-ins are instantiated before any other plug-in types and receive a project-specific context.

Access API documentation:
SiteArchitect: JavaClientPermanentPlugin
ContentCreator: WebeditPermanentPlugin

Important Please note that although all permanent plug-ins are instantiated before any other plug-in type during project loading, there is no guaranteed order of instantiation among several permanent plug-in classes.
Important Permanent plug-ins are intended to provide background services. Access to interactive functionality (e.g. displaying message boxes in the user interface) is not guaranteed.

Usage

Because it is available during the client session's lifetime, this plug-in type is well-suited for providing centralized functionality (i.e. controller objects) which may be used by other plug-ins or scripts that may be run on-demand in the client. To make such a controller object available as a service to other plug-in components, it may be registered by the permanent plug-in component as a client service using the ClientServiceRegistryAgent.

See the chapter Using FirstSpirit APIs / Services for details on using the ClientServiceRegistryAgent.

Code Example and Example Implementation

The Permanent Plug-In Code Example introduces and documents the implementation workflow and points out general considerations in designing permanent plug-ins.

Additionally, this page provides an overview of an example implementation named MessageMe, which is provided as part of the Developer Examples module source code.

© 2005 - 2024 Crownpeak Technology GmbH | All rights reserved. | FirstSpirit 2024.12 | Data privacy