2025-05-05 11:06:15 -04:00
2025-05-05 11:06:15 -04:00
2025-05-05 11:06:15 -04:00
2025-05-05 11:06:15 -04:00
2025-05-05 11:06:15 -04:00
2025-05-05 11:06:15 -04:00
2025-05-05 11:06:15 -04:00
2025-05-05 11:06:15 -04:00
2025-05-05 11:06:15 -04:00

Multi-Extension Extension for APS (Activiti App)

This library provides a way for developers extend APS without stomping on top of each other.

APS provides the following interfaces to extend the OOTB behavior. The problem is that they only expect one implementer of each interface. This means multiple extensions implementing the same interface will result in Spring related errors. This extension provides a primary implementation, gathers all others, and executes them in bean priority order.

The supported extensions points are in the table below:

Interface Enablement Description
com.activiti.api.boot.BootstrapConfigurer automatic Common; Perform extra bootstrap operations.
com.activiti.api.security.AlfrescoWebAppSecurityExtender automatic Perform extra operations on org.springframework.security.config.annotation.web.builders.HttpSecurity for user endpoints when OAuth is used.
com.activiti.api.security.AlfrescoApiSecurityExtender automatic Perform extra operations on org.springframework.security.config.annotation.web.builders.HttpSecurity for REST API endpoints when OAuth is used.
com.activiti.api.security.AlfrescoWebAppSecurityOverride inteligr8.ext.webappSecurityOverride.enabled Rare; Replace OOTB operations on org.springframework.security.config.annotation.web.builders.HttpSecurity for user endpoints when OAuth is used; but execute alongside other extensions that may do the same thing.
com.activiti.api.security.AlfrescoApiSecurityOverride inteligr8.ext.apiSecurityOverride.enabled Rare; Replace OOTB operations on org.springframework.security.config.annotation.web.builders.HttpSecurity for REST API endpoints when OAuth is used; but execute alongside other extensions that may do the same thing.
com.activiti.api.security.AlfrescoSecurityConfigOverride inteligr8.ext.securityConfigOverride.enabled Rare; Replace OOTB security when not using OOTB OAuth security.

Installation

The installation is simple. Just include the JAR in the classpath of your APS application. This is best done by not changing the activiti-app.war file, but instead including it within the classpath using your web container configuration. For Apache Tomcat, you would add or modify the following context file: conf/Catalina/localhost/activiti-app.xml. Its related contents would be:

<Context>
        <Resources>
                <PostResources base="${catalina.base}/ext" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/WEB-INF/lib" readOnly="true" />
        </Resources>
</Context>

Notice the use of PostResources instead of PreResources. This library needs to be loaded after the web application. This is the best way to load any other extensions or customization to the Activiti App, including JavaDelegate implementations. If you use the -security switch, you will need to give this path permissions in the catalina.policy file:

grant codeBase "file:${catalina.base}/ext/-" {
	permission java.security.AllPermissions
}

Support Matrix

Extension APS
v1.0 v2.x+

Configuration

There are no configuration options.

Using

There is nothing to change, other than: don't use @Primary on beans that implement the interfaces in the table above. And you may want to use the following:

@Component
@Order(10)

or

@Component
@Order(Ordered.LOWEST_PRECEDENCE)
Description
No description provided
Readme LGPL-3.0 53 KiB
Languages
Java 84.9%
PowerShell 7.7%
Shell 7.4%